@arcgis/core 5.2.0-next.87 → 5.2.0-next.89
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/Graphic.js +1 -1
- package/arcade/Dictionary.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/ImmutablePointArray.js +1 -1
- package/arcade/Pixel.js +1 -1
- package/arcade/Voxel.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/containerUtils.js +1 -1
- package/arcade/debug.js +1 -1
- package/arcade/deepClone.js +1 -1
- package/arcade/featureset/actions/SpatialFilter.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/functions/centroid.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/stats.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/functions/track.js +1 -1
- package/arcade/geometry/adapters/accessor.js +2 -0
- package/arcade/geometry/adapters/dehydrated.js +2 -0
- package/arcade/geometry/adapters/gx.js +2 -0
- package/arcade/geometry/adapters/json.js +2 -0
- package/arcade/geometry/adapters/optimized.js +2 -0
- package/arcade/geometry/adapters/tuple.js +2 -0
- package/arcade/geometry/adapters/utils.js +2 -0
- package/arcade/geometry/arrayOfPointsConversions.js +2 -0
- package/arcade/geometry/constructors.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/geometry/isSelfIntersecting.js +2 -0
- package/arcade/geometry/nearestCoordinate.js +2 -0
- package/arcade/geometry/nearestVertex.js +1 -1
- package/arcade/geometry/operators.js +1 -1
- package/arcade/geometry/operatorsWorker.js +1 -1
- package/arcade/geometry/rotate.js +1 -1
- package/arcade/geometry.js +2 -0
- package/arcade/languageUtils.js +1 -1
- package/arcade.js +1 -1
- package/arcgisGlobal.d.ts +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{0b8c9657975388f1e4c8.js → 00181785a180e934bf7c.js} +1 -1
- package/assets/esri/core/workers/chunks/{01e648b258efa6408070.js → 0336f4f8498a22347720.js} +1 -1
- package/assets/esri/core/workers/chunks/05393b23ab24126d4236.js +1 -0
- package/assets/esri/core/workers/chunks/07613ecf13c38ad58b79.js +1 -0
- package/assets/esri/core/workers/chunks/08263c07d92c48806834.js +1 -0
- package/assets/esri/core/workers/chunks/090ea7a131f8f60203ed.js +1 -0
- package/assets/esri/core/workers/chunks/09e01fd1c199be0c8e03.js +1 -0
- package/assets/esri/core/workers/chunks/{12d6d73ca1fa55640a4f.js → 0b4a7209b99227a842ad.js} +1 -1
- package/assets/esri/core/workers/chunks/0d95f72e1c07ab867d21.js +1 -0
- package/assets/esri/core/workers/chunks/0dbbac7a2378728571a7.js +1 -0
- package/assets/esri/core/workers/chunks/0f15468ffefd3e9a17b8.js +29 -0
- package/assets/esri/core/workers/chunks/13e92f6a9573a2818fb7.js +1 -0
- package/assets/esri/core/workers/chunks/159b16f47665f94a0305.js +1 -0
- package/assets/esri/core/workers/chunks/15f4f7e34e14e3cf52e6.js +1 -0
- package/assets/esri/core/workers/chunks/19e93d4d37018e3ee849.js +1 -0
- package/assets/esri/core/workers/chunks/{911f3a1b8dd4bc5c9782.js → 1bf5c0a4bc5a960a3fa2.js} +1 -1
- package/assets/esri/core/workers/chunks/1bf967c68d0c795d3fb4.js +1 -0
- package/assets/esri/core/workers/chunks/1c378d489c5402888f76.js +1 -0
- package/assets/esri/core/workers/chunks/1d1e8d8b1fcf2d9f3dfc.js +1 -0
- package/assets/esri/core/workers/chunks/{e5c8f9fef88ca33624e9.js → 1e087fb13b7b0a5d6fec.js} +1 -1
- package/assets/esri/core/workers/chunks/1e192ac0533a5c0b5a7a.js +1 -0
- package/assets/esri/core/workers/chunks/1f9d6180a96d557838e9.js +1 -0
- package/assets/esri/core/workers/chunks/1fe077f57a087c0e9119.js +1 -0
- package/assets/esri/core/workers/chunks/20f6e681ccd8bf884b77.js +1 -0
- package/assets/esri/core/workers/chunks/212222b64039d436b9a6.js +1 -0
- package/assets/esri/core/workers/chunks/22c94f9a69b2157f8dbd.js +1 -0
- package/assets/esri/core/workers/chunks/23addf8b11938e0c96e9.js +1 -0
- package/assets/esri/core/workers/chunks/25a2e02677a74834c8b5.js +1 -0
- package/assets/esri/core/workers/chunks/26ecc841396e5e719b6a.js +1 -0
- package/assets/esri/core/workers/chunks/27c0bed59626c7f64125.js +1 -0
- package/assets/esri/core/workers/chunks/2bc3e7f394386fa75447.js +1 -0
- package/assets/esri/core/workers/chunks/2c9783e3b44986e86797.js +1 -0
- package/assets/esri/core/workers/chunks/2ceb07b125c84b51f02a.js +1 -0
- package/assets/esri/core/workers/chunks/2cf2f2842c19be84ab4d.js +1 -0
- package/assets/esri/core/workers/chunks/2d07d5a9ec67c39ef10c.js +1 -0
- package/assets/esri/core/workers/chunks/{a7c715648a07ed70b122.js → 2ec44ebc48beeba11201.js} +1 -1
- package/assets/esri/core/workers/chunks/2f2d699b072472fa710e.js +1 -0
- package/assets/esri/core/workers/chunks/2f3bbc1f7d4abbbeec2f.js +1 -0
- package/assets/esri/core/workers/chunks/30af0f7c4cfa541c9efd.js +1 -0
- package/assets/esri/core/workers/chunks/30d816bdeea00f6fa1ca.js +1 -0
- package/assets/esri/core/workers/chunks/{39c0a3eb6a870953d530.js → 31a0620a6028e94c7532.js} +3 -3
- package/assets/esri/core/workers/chunks/32f11b4aeae1ef00e466.js +1 -0
- package/assets/esri/core/workers/chunks/37adb55d9f83faad1712.js +1 -0
- package/assets/esri/core/workers/chunks/3869dca884d7ca6488f5.js +1 -0
- package/assets/esri/core/workers/chunks/39b6a5222f45cb8dbc94.js +1 -0
- package/assets/esri/core/workers/chunks/3a9c6f58a1a065c14017.js +1 -0
- package/assets/esri/core/workers/chunks/3aceedec9abfb2fdfa18.js +1 -0
- package/assets/esri/core/workers/chunks/3b552afffaa78bf4fe18.js +1 -0
- package/assets/esri/core/workers/chunks/{fe06cc2f90b2d551e4c1.js → 3bbd2d4a19c3b7ad82e4.js} +1 -1
- package/assets/esri/core/workers/chunks/3de07326da4c47cd2aab.js +1 -0
- package/assets/esri/core/workers/chunks/3f5234120d3a14186c1c.js +1 -0
- package/assets/esri/core/workers/chunks/3f82410d9f701e7ad8eb.js +1 -0
- package/assets/esri/core/workers/chunks/{dbd6bbd3e834ff9d220e.js → 41cf6163758d28fb1968.js} +1 -1
- package/assets/esri/core/workers/chunks/45858d1c6487f4a98e40.js +1 -0
- package/assets/esri/core/workers/chunks/45c1c90ac6c14657f3ff.js +1 -0
- package/assets/esri/core/workers/chunks/46f8c7ae7fb356c3410d.js +1 -0
- package/assets/esri/core/workers/chunks/486f1a3b7269ce6c3911.js +1 -0
- package/assets/esri/core/workers/chunks/497c5a9c95e9a89ac217.js +1 -0
- package/assets/esri/core/workers/chunks/49d36e54644dc2966128.js +1 -0
- package/assets/esri/core/workers/chunks/4aefe6fd4d725a107758.js +1 -0
- package/assets/esri/core/workers/chunks/4b6f433022a6822706cb.js +1 -0
- package/assets/esri/core/workers/chunks/4c7264e3f4156f92d613.js +1 -0
- package/assets/esri/core/workers/chunks/4ee99e654dad6f09abee.js +1 -0
- package/assets/esri/core/workers/chunks/50525b617ef78086d3c7.js +1 -0
- package/assets/esri/core/workers/chunks/{a7727a2377470d586ff9.js → 51c9bd7c03d780fadebc.js} +1 -1
- package/assets/esri/core/workers/chunks/5235b9c21ac4156c2375.js +1 -0
- package/assets/esri/core/workers/chunks/52422500ca3d6cf2e596.js +1 -0
- package/assets/esri/core/workers/chunks/527b87fddf33bb5d519e.js +1 -0
- package/assets/esri/core/workers/chunks/{a4bae2396fae48b57047.js → 595edbc1e9bba47d5676.js} +1 -1
- package/assets/esri/core/workers/chunks/5af16937904c06fb06f6.js +1 -0
- package/assets/esri/core/workers/chunks/5bf65dbfd9c7a5ea187d.js +1 -0
- package/assets/esri/core/workers/chunks/5d7a5aa608ed6192b016.js +1 -0
- package/assets/esri/core/workers/chunks/5d9c92c4e60a4696fdad.js +1 -0
- package/assets/esri/core/workers/chunks/5ed7bc9e6cb7cdee92e2.js +1 -0
- package/assets/esri/core/workers/chunks/{272c8ccdbd3dcc14e99b.js → 5ed89c862eee1345e3af.js} +1 -1
- package/assets/esri/core/workers/chunks/5fbd7d8d8896a224fff3.js +1 -0
- package/assets/esri/core/workers/chunks/607acd9f615f87e14075.js +1 -0
- package/assets/esri/core/workers/chunks/62ee6c247f783acabb74.js +1 -0
- package/assets/esri/core/workers/chunks/64ce2d060ae7cdd412cf.js +1 -0
- package/assets/esri/core/workers/chunks/65f4ca7201e7267bfc81.js +1 -0
- package/assets/esri/core/workers/chunks/67efdd296007a809586c.js +1 -0
- package/assets/esri/core/workers/chunks/680557b8832fbdab7f46.js +1 -0
- package/assets/esri/core/workers/chunks/691434d4c6a38e63d819.js +1 -0
- package/assets/esri/core/workers/chunks/{ba67aaa08e4f11e1140a.js → 696cb3bf167327d5b0b9.js} +1 -1
- package/assets/esri/core/workers/chunks/69700ed16727ed0c4e3a.js +1 -0
- package/assets/esri/core/workers/chunks/6a2d890640b2cd6c5ccb.js +1 -0
- package/assets/esri/core/workers/chunks/6b84982dfaf084a61b93.js +1 -0
- package/assets/esri/core/workers/chunks/{7343a44a2382a1d68497.js → 6b9dbf43c0659e55c539.js} +1 -1
- package/assets/esri/core/workers/chunks/6de5c6af62776e1b9776.js +1 -0
- package/assets/esri/core/workers/chunks/71308dca3fd05687e7bd.js +1 -0
- package/assets/esri/core/workers/chunks/75bddfe2be64379db8fd.js +1 -0
- package/assets/esri/core/workers/chunks/777f2fdf1f4b9f243893.js +1 -0
- package/assets/esri/core/workers/chunks/78085f804969c9282700.js +1 -0
- package/assets/esri/core/workers/chunks/7aa9b61ca9b66f30449f.js +1 -0
- package/assets/esri/core/workers/chunks/7c56446184abcd14678b.js +1 -0
- package/assets/esri/core/workers/chunks/7e41cee4a0ae75e1490d.js +1 -0
- package/assets/esri/core/workers/chunks/7f55a150e4da02786311.js +1 -0
- package/assets/esri/core/workers/chunks/847b02d188ece9b563ad.js +1 -0
- package/assets/esri/core/workers/chunks/86c3d3c7015f1cd55fac.js +1 -0
- package/assets/esri/core/workers/chunks/87e0ceb1a64ab08e679a.js +1 -0
- package/assets/esri/core/workers/chunks/903c7bd079888f65fef1.js +1 -0
- package/assets/esri/core/workers/chunks/9226205850e35b7fc610.js +1 -0
- package/assets/esri/core/workers/chunks/94453d075ce02eff4844.js +1 -0
- package/assets/esri/core/workers/chunks/9474c913e53f69679197.js +1 -0
- package/assets/esri/core/workers/chunks/94ddfe165ac25aef8229.js +1 -0
- package/assets/esri/core/workers/chunks/{75a2c43311f5f9058f62.js → 94f62ff81cc6fb83e73f.js} +1 -1
- package/assets/esri/core/workers/chunks/95ccac3734ac70387b03.js +1 -0
- package/assets/esri/core/workers/chunks/97c7dfd29ad4c2966cb4.js +1 -0
- package/assets/esri/core/workers/chunks/{1354b8442c2c501238f1.js → 986c5024f22bbfc49aba.js} +1 -1
- package/assets/esri/core/workers/chunks/9b81bd62a2c72f592db1.js +1 -0
- package/assets/esri/core/workers/chunks/{62596065747abce1964d.js → 9b8e33985310f281f084.js} +1 -1
- package/assets/esri/core/workers/chunks/9e2b3754a76e0dd4a94a.js +1 -0
- package/assets/esri/core/workers/chunks/a03e7333e3328036f478.js +1 -0
- package/assets/esri/core/workers/chunks/a0565137027c83108953.js +1 -0
- package/assets/esri/core/workers/chunks/a176727a1148ca4fb432.js +1 -0
- package/assets/esri/core/workers/chunks/a3b403f8acb90af19adb.js +1 -0
- package/assets/esri/core/workers/chunks/a4596f028758649da099.js +1 -0
- package/assets/esri/core/workers/chunks/a46ac0be9aabc4cfedc7.js +1 -0
- package/assets/esri/core/workers/chunks/a4a22149077c7780481c.js +1 -0
- package/assets/esri/core/workers/chunks/a6ab627e965fe7e5bd52.js +1 -0
- package/assets/esri/core/workers/chunks/a6d4132a16c51323a38a.js +1 -0
- package/assets/esri/core/workers/chunks/a7954ad55a241af9064f.js +1 -0
- package/assets/esri/core/workers/chunks/a7e6382ecc91c876117f.js +1 -0
- package/assets/esri/core/workers/chunks/a88bf8ae93077e1b48cf.js +1 -0
- package/assets/esri/core/workers/chunks/a8b878c12cb1a6ea012b.js +1 -0
- package/assets/esri/core/workers/chunks/{ec0803cfa5051c4d300d.js → aa0ef4493a7e9bed159f.js} +1 -1
- package/assets/esri/core/workers/chunks/aa8ab28e0c1ae3b55ac0.js +1 -0
- package/assets/esri/core/workers/chunks/add834f867900a7091d2.js +1 -0
- package/assets/esri/core/workers/chunks/{bbf4c2ee4d56bb0f1a81.js → afa6b74d9ca9ed0154af.js} +1 -1
- package/assets/esri/core/workers/chunks/b0e25ccb5a1e57a82628.js +1 -0
- package/assets/esri/core/workers/chunks/b17a9853250ab626d58d.js +1 -0
- package/assets/esri/core/workers/chunks/b19cff0e43fab2632660.js +1 -0
- package/assets/esri/core/workers/chunks/b2e2234fdf8e05bc3312.js +1 -0
- package/assets/esri/core/workers/chunks/b6063d1755def00d4889.js +1 -0
- package/assets/esri/core/workers/chunks/bb56ab53c5a10c9518a6.js +1 -0
- package/assets/esri/core/workers/chunks/bd1a7e95a797e1ed4a7b.js +1 -0
- package/assets/esri/core/workers/chunks/bd2602195e265f8fdb15.js +1 -0
- package/assets/esri/core/workers/chunks/bdfffa5f88b559a4b42d.js +1 -0
- package/assets/esri/core/workers/chunks/{f762f0f6c83748d8e328.js → bee411f08e2a9499f8f5.js} +1 -1
- package/assets/esri/core/workers/chunks/bf11319138facf44752c.js +1 -0
- package/assets/esri/core/workers/chunks/bf357afbabaa8dec4d75.js +1 -0
- package/assets/esri/core/workers/chunks/bf7875fda48b15271a10.js +1 -0
- package/assets/esri/core/workers/chunks/bfa59005a9b191d18546.js +1 -0
- package/assets/esri/core/workers/chunks/bfb8fc6b940bd5510e29.js +1 -0
- package/assets/esri/core/workers/chunks/{b311658b8a223efe35d6.js → c0e073a77484b0dfd383.js} +1 -1
- package/assets/esri/core/workers/chunks/c13aa45ccd5efb662f88.js +1 -0
- package/assets/esri/core/workers/chunks/c176df477bbbbc9c6922.js +1 -0
- package/assets/esri/core/workers/chunks/{073224c6ac77dc9e97af.js → c23943e51734254d31e8.js} +1 -1
- package/assets/esri/core/workers/chunks/c35553d07ad169910742.js +1 -0
- package/assets/esri/core/workers/chunks/c4fef90cf08bbe4f0bb5.js +1 -0
- package/assets/esri/core/workers/chunks/c5c2fed38e0ccf84f1fa.js +1 -0
- package/assets/esri/core/workers/chunks/c80277a313205853a857.js +1 -0
- package/assets/esri/core/workers/chunks/c88bfa51d2a8a024fc24.js +1 -0
- package/assets/esri/core/workers/chunks/c91042f8bf886056a29c.js +1 -0
- package/assets/esri/core/workers/chunks/ca204c110438f7315790.js +1 -0
- package/assets/esri/core/workers/chunks/ca36d85a47179d95f2fc.js +1 -0
- package/assets/esri/core/workers/chunks/cb6fb04fe5c8d90d4196.js +1 -0
- package/assets/esri/core/workers/chunks/ccaeabc3be07f3c96f50.js +1 -0
- package/assets/esri/core/workers/chunks/{85f459297b0214141d43.js → cd02a6078443b8f63927.js} +1 -1
- package/assets/esri/core/workers/chunks/{3a36c132ceddef3d15c8.js → cdbcc4cd9145dd93db49.js} +1 -1
- package/assets/esri/core/workers/chunks/{e90feee1756a2209f93f.js → ce9fe1a89b474f9e7ee7.js} +1 -1
- package/assets/esri/core/workers/chunks/d0cf9ff48f051adbd455.js +1 -0
- package/assets/esri/core/workers/chunks/d119671a32a050517cca.js +1 -0
- package/assets/esri/core/workers/chunks/d26be8313526ecea9c68.js +1 -0
- package/assets/esri/core/workers/chunks/d270b49c037085503016.js +1 -0
- package/assets/esri/core/workers/chunks/{f5eee6e548bb24b5a003.js → d30a7fc8dab4ebb8893b.js} +1 -1
- package/assets/esri/core/workers/chunks/d344c3fd9f6b113bbcd7.js +1 -0
- package/assets/esri/core/workers/chunks/d36bbda9b7261534568f.js +1 -0
- package/assets/esri/core/workers/chunks/d4b0012ae1d3b8a9ba01.js +1 -0
- package/assets/esri/core/workers/chunks/d58d6b55b2749a535eb3.js +1 -0
- package/assets/esri/core/workers/chunks/d6f7aa280f1bd201d4ef.js +1 -0
- package/assets/esri/core/workers/chunks/{60f490afdbe299f89669.js → d871572997600930e017.js} +1 -1
- package/assets/esri/core/workers/chunks/da9aacdb0b4a04f42fb8.js +1 -0
- package/assets/esri/core/workers/chunks/daf7b647bd960d8bad56.js +1 -0
- package/assets/esri/core/workers/chunks/{10ac92dcd3738ec23dfb.js → db04c1bad40d068306ba.js} +1 -1
- package/assets/esri/core/workers/chunks/{3427f0c026301bcf7272.js → db180f8d25471cfa48af.js} +1 -1
- package/assets/esri/core/workers/chunks/ddf284648a73b6993737.js +1 -0
- package/assets/esri/core/workers/chunks/dfbe0efe453587ec5eb2.js +1 -0
- package/assets/esri/core/workers/chunks/e1682e94cc714197ebb4.js +1 -0
- package/assets/esri/core/workers/chunks/e2576c37cf13dc421f69.js +1 -0
- package/assets/esri/core/workers/chunks/e370a3337b3c90240e73.js +1 -0
- package/assets/esri/core/workers/chunks/e39bccc000c768120a32.js +1 -0
- package/assets/esri/core/workers/chunks/e40e08029325f43452d0.js +1 -0
- package/assets/esri/core/workers/chunks/e50adcfb392adfb3f79c.js +1 -0
- package/assets/esri/core/workers/chunks/{0d7d54e74b5639a0be6e.js → e707534a700a2de687ca.js} +1 -1
- package/assets/esri/core/workers/chunks/e823c9ccb7bc348d8824.js +1 -0
- package/assets/esri/core/workers/chunks/e88eee4c2fc4229c2a8b.js +1 -0
- package/assets/esri/core/workers/chunks/e9f29019aa78f07ace66.js +1 -0
- package/assets/esri/core/workers/chunks/ea75c23c44452f45a949.js +1 -0
- package/assets/esri/core/workers/chunks/ea91c57a0b31f3f65ee5.js +1 -0
- package/assets/esri/core/workers/chunks/eda04911553cf99fb99b.js +1 -0
- package/assets/esri/core/workers/chunks/ee77999df3785468b2b6.js +1 -0
- package/assets/esri/core/workers/chunks/ef851a2cff76fd211c07.js +1 -0
- package/assets/esri/core/workers/chunks/f106cc7f559856f69b9f.js +1 -0
- package/assets/esri/core/workers/chunks/f247f3c5148fa0237a7c.js +1 -0
- package/assets/esri/core/workers/chunks/{a26dc2647a15b830390e.js → f253875feb11883deb84.js} +1 -1
- package/assets/esri/core/workers/chunks/f3716ce04d09af31cfb1.js +1 -0
- package/assets/esri/core/workers/chunks/f3d57c5b9dffd12e45b4.js +1 -0
- package/assets/esri/core/workers/chunks/f3e53be08ab9dbdf17ae.js +1 -0
- package/assets/esri/core/workers/chunks/f43ae1c2f89e1c4396cc.js +1 -0
- package/assets/esri/core/workers/chunks/f60ed579981913d44675.js +1 -0
- package/assets/esri/core/workers/chunks/{147d1e7e2852a4197e5f.js → f665fb4c5633e0a459d8.js} +1 -1
- package/assets/esri/core/workers/chunks/f66e597e524b26e61cd3.js +1 -0
- package/assets/esri/core/workers/chunks/{bec140a69cfdb0519680.js → f74c7cbe4bd12f73ae90.js} +1 -1
- package/assets/esri/core/workers/chunks/{e6f6b38eda34708d61c5.js → f7f2102b16d201e5f531.js} +1 -1
- package/assets/esri/core/workers/chunks/f82ae237452b97cfc024.js +1 -0
- package/assets/esri/core/workers/chunks/f83c3597e9332bd991eb.js +1 -0
- package/assets/esri/core/workers/chunks/f8a6d8cdcabcd1d511b6.js +1 -0
- package/assets/esri/core/workers/chunks/f8f7b86bbd62106bc3d4.js +1 -0
- package/assets/esri/core/workers/chunks/f9a4387f850d85c44ca5.js +1 -0
- package/assets/esri/core/workers/chunks/fbc7576ed12964059da6.js +1 -0
- package/assets/esri/core/workers/chunks/fdd0e6d9927d3c43b0d3.js +1 -0
- package/assets/esri/core/workers/chunks/fddcb8be714ad18ad0c8.js +1 -0
- package/assets/esri/core/workers/chunks/{baa46edd87e97f922128.js → ffe749d790320dddfa74.js} +1 -1
- package/chunks/Bufferer-CclWhXVb.js +1 -1
- package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
- package/chunks/Envelope.js +1 -1
- package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/GeographicTransformation.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/GlowComposite.glsl.js +9 -7
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorCentroid2D.js +1 -1
- package/chunks/OperatorContains.js +2 -0
- package/chunks/OperatorCrosses.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorDisjoint.js +2 -0
- package/chunks/OperatorDistance.js +2 -0
- package/chunks/OperatorEquals.js +2 -0
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorGraphicBuffer.js +1 -1
- package/chunks/OperatorIntegrate.js +1 -1
- package/chunks/OperatorIntersects.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorOverlaps.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorRelate.js +2 -0
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/OperatorSimplifyOGC.js +1 -1
- package/chunks/OperatorTouches.js +1 -1
- package/chunks/OperatorWithin.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/SideCalculator2D-DX0718xq.js +1 -1
- package/chunks/UnitFactory.js +1 -1
- package/chunks/aiServices.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/boundedPlane.js +1 -1
- package/chunks/cameraUtilsSpherical.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/core/accessorSupport/Property.js +1 -1
- package/core/sql/TimeOnly.js +1 -1
- package/core/units.js +1 -1
- package/editing/sharedTemplates/executor/builders/bufferLineToPolygon.js +1 -1
- package/editing/sharedTemplates/executor/builders/bufferPointToPolygon.js +1 -1
- package/editing/sharedTemplates/executor/builders/bufferPolygonToPolygon.js +1 -1
- package/editing/sharedTemplates/executor/builders/pointAtIntersectionVerticesOfLine.js +1 -1
- package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
- package/form/elements/inputs/inputUtils.js +1 -1
- package/geometry/operators/areaOperator.js +1 -1
- package/geometry/operators/bufferOperator.js +1 -1
- package/geometry/operators/centroidOperator.js +1 -1
- package/geometry/operators/clipOperator.js +1 -1
- package/geometry/operators/containsOperator.js +1 -1
- package/geometry/operators/convexHullOperator.js +1 -1
- package/geometry/operators/crossesOperator.js +1 -1
- package/geometry/operators/cutOperator.js +1 -1
- package/geometry/operators/densifyOperator.js +1 -1
- package/geometry/operators/differenceOperator.js +1 -1
- package/geometry/operators/disjointOperator.js +1 -1
- package/geometry/operators/distanceOperator.js +1 -1
- package/geometry/operators/equalsOperator.js +1 -1
- package/geometry/operators/generalizeOperator.js +1 -1
- package/geometry/operators/geodesicBufferOperator.js +1 -1
- package/geometry/operators/geodeticAreaOperator.js +1 -1
- package/geometry/operators/geodeticDensifyOperator.js +1 -1
- package/geometry/operators/geodeticDistanceOperator.js +1 -1
- package/geometry/operators/geodeticLengthOperator.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorDifference.js +1 -1
- package/geometry/operators/gx/operatorIntersection.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorSimplify.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/gx/operatorUnion.js +1 -1
- package/geometry/operators/intersectionOperator.js +1 -1
- package/geometry/operators/intersectsOperator.js +1 -1
- package/geometry/operators/json/containsOperator.js +1 -1
- package/geometry/operators/json/crossesOperator.js +1 -1
- package/geometry/operators/json/disjointOperator.js +1 -1
- package/geometry/operators/json/intersectsOperator.js +1 -1
- package/geometry/operators/json/overlapsOperator.js +1 -1
- package/geometry/operators/json/touchesOperator.js +1 -1
- package/geometry/operators/json/unionOperator.js +1 -1
- package/geometry/operators/json/withinOperator.js +1 -1
- package/geometry/operators/labelPointOperator.js +1 -1
- package/geometry/operators/lengthOperator.js +1 -1
- package/geometry/operators/multiPartToSinglePartOperator.js +1 -1
- package/geometry/operators/offsetOperator.js +1 -1
- package/geometry/operators/overlapsOperator.js +1 -1
- package/geometry/operators/proximityOperator.js +1 -1
- package/geometry/operators/relateOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/simplifyOGCOperator.js +1 -1
- package/geometry/operators/simplifyOperator.js +1 -1
- package/geometry/operators/support/apiConverter.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/operators/support/projectionTransformation.js +1 -1
- package/geometry/operators/symmetricDifferenceOperator.js +1 -1
- package/geometry/operators/touchesOperator.js +1 -1
- package/geometry/operators/unionOperator.js +1 -1
- package/geometry/operators/withinOperator.js +1 -1
- package/geometry/support/convexPolyhedron.js +1 -1
- package/geometry/support/curves/circleUtils.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/geometry/support/frustum.js +1 -1
- package/geometry/support/plane.js +1 -1
- package/geometry/support/webMercatorUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/graphics/data/FlatFeatureStore.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/hydratedFeatures.js +1 -1
- package/layers/mixins/DataSeriesLayer.js +1 -1
- package/layers/support/csvUtils.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/package.json +4 -4
- package/support/ArcadeExpression.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/loadArcade.js +1 -1
- package/support/revision.js +1 -1
- package/support/tests/serviceMockDependencies.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementController.js +1 -1
- package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementController.js +1 -1
- package/views/2d/engine/vectorTiles/TileManager.js +1 -1
- package/views/2d/engine/webgl/util/Fader.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/support/RouteLayerWaypointVisualization.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightConfiguration.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementController.js +1 -1
- package/views/3d/input/SceneInputManager.js +1 -1
- package/views/3d/input/handlers/RopePullNavigation.js +2 -0
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshNormals.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/graphics/featureExpressionInfoUtils.js +1 -1
- package/views/3d/layers/i3s/I3SNode.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/layers/i3s/SweptSphereVolume.js +1 -1
- package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
- package/views/3d/layers/support/IntegratedMesh3DTilesVertexProcessing.js +1 -1
- package/views/3d/state/Frustum.js +1 -1
- package/views/3d/state/controllers/RopePullController.js +2 -0
- package/views/3d/state/utils/ropePullUtils.js +1 -1
- package/views/3d/support/ElevationAgnosticVisibility.js +1 -1
- package/views/3d/support/sphericalTileUtils.js +1 -1
- package/views/3d/terrain/PlanarPatch.js +1 -1
- package/views/3d/terrain/SphericalPatch.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/lib/Geometry.js +1 -1
- package/views/3d/webgl-engine/lib/LineMaterial.js +2 -0
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/PointMaterial.js +2 -0
- package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/SelectionManager.js +1 -1
- package/views/draw/DrawTool.js +1 -1
- package/views/draw/support/createUtils.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/interactive/sketch/constraints.js +1 -1
- package/views/popupAdapter.js +1 -1
- package/views/support/GeometryWorker.js +1 -1
- package/views/support/geometry3dUtils.js +1 -1
- package/views/support/selectionUtils.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ArcadeExecutorProvider.js +1 -1
- package/widgets/BatchAttributeForm/templates/FieldElementTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
- package/widgets/FeatureTable/support/types.d.ts +3 -1
- package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
- package/widgets/OrientedImageryViewer/support/panConstraint.js +1 -1
- package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
- package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
- package/widgets/support/SelectionList/selectionListUtils.d.ts +58 -0
- package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
- package/widgets/support/Selector2D/selectorUtils.js +1 -1
- package/arcade/kernel.js +0 -2
- package/assets/esri/core/workers/chunks/01b7babaefe6500fd6eb.js +0 -1
- package/assets/esri/core/workers/chunks/06e109e92de7fa0956e3.js +0 -1
- package/assets/esri/core/workers/chunks/0775d1e3034d5e7ef7bc.js +0 -1
- package/assets/esri/core/workers/chunks/0993e51d3a9701ed2198.js +0 -1
- package/assets/esri/core/workers/chunks/09a0a1e794ddff65aa08.js +0 -1
- package/assets/esri/core/workers/chunks/0e57d33bd202d0972207.js +0 -1
- package/assets/esri/core/workers/chunks/114ba901fd319ce87dc6.js +0 -1
- package/assets/esri/core/workers/chunks/12a3b55195ce3244259d.js +0 -1
- package/assets/esri/core/workers/chunks/151bac9e519a3b821baf.js +0 -1
- package/assets/esri/core/workers/chunks/156f85ac1885464f0072.js +0 -1
- package/assets/esri/core/workers/chunks/180eebd8b7badc2840c9.js +0 -1
- package/assets/esri/core/workers/chunks/19cb8963d5ec2246357b.js +0 -1
- package/assets/esri/core/workers/chunks/19d4ecee1c161ac0f33c.js +0 -1
- package/assets/esri/core/workers/chunks/19ece9f5313f53384cac.js +0 -1
- package/assets/esri/core/workers/chunks/1d770e8f0fe57d937daa.js +0 -1
- package/assets/esri/core/workers/chunks/1dd22b8df6a52277c64b.js +0 -1
- package/assets/esri/core/workers/chunks/1ede298ab815e9ad625c.js +0 -1
- package/assets/esri/core/workers/chunks/208bc524bd1e0d3aab79.js +0 -1
- package/assets/esri/core/workers/chunks/20a4ae83542c7d39cf0f.js +0 -1
- package/assets/esri/core/workers/chunks/21071ab3d7b2771406ae.js +0 -1
- package/assets/esri/core/workers/chunks/21bfa89363104f041101.js +0 -1
- package/assets/esri/core/workers/chunks/21d0a4d6639d32278f11.js +0 -1
- package/assets/esri/core/workers/chunks/22a75fdc6ba60213a870.js +0 -1
- package/assets/esri/core/workers/chunks/22e004ed97e06536ecef.js +0 -1
- package/assets/esri/core/workers/chunks/23942712a3f6290e0fdb.js +0 -1
- package/assets/esri/core/workers/chunks/242287de82586d42f0a4.js +0 -1
- package/assets/esri/core/workers/chunks/25cb5086eaa412f6820b.js +0 -1
- package/assets/esri/core/workers/chunks/26c8ed0aef59ed6d5267.js +0 -1
- package/assets/esri/core/workers/chunks/2742d62fceaf0736aef0.js +0 -1
- package/assets/esri/core/workers/chunks/276eba546dc8774076ee.js +0 -1
- package/assets/esri/core/workers/chunks/28e02b213da9e682d3dc.js +0 -29
- package/assets/esri/core/workers/chunks/2d8195231cb16247f198.js +0 -1
- package/assets/esri/core/workers/chunks/2db1227ecd421728630d.js +0 -1
- package/assets/esri/core/workers/chunks/2ddc9c9ff6ec243d85e2.js +0 -1
- package/assets/esri/core/workers/chunks/2e712154ebb895d96ba1.js +0 -1
- package/assets/esri/core/workers/chunks/2f2df51d4976ae65edae.js +0 -1
- package/assets/esri/core/workers/chunks/32d31fd4cffdf5a80acb.js +0 -1
- package/assets/esri/core/workers/chunks/33aaa5a49e396a0aca47.js +0 -1
- package/assets/esri/core/workers/chunks/35622088727e120c93b9.js +0 -1
- package/assets/esri/core/workers/chunks/3714cc26f446c4d9cc2c.js +0 -1
- package/assets/esri/core/workers/chunks/3722d40d161d60370936.js +0 -1
- package/assets/esri/core/workers/chunks/3ac4cfeb1af12a9dc27d.js +0 -1
- package/assets/esri/core/workers/chunks/3b009c05eaec5a7048a8.js +0 -1
- package/assets/esri/core/workers/chunks/3b376318df4ff8519370.js +0 -1
- package/assets/esri/core/workers/chunks/3bf37fd3280f4891c76b.js +0 -1
- package/assets/esri/core/workers/chunks/3d18a10a1ecfabe92db3.js +0 -1
- package/assets/esri/core/workers/chunks/3de20165796fa4f76728.js +0 -1
- package/assets/esri/core/workers/chunks/3fbd4c7e25440c4713f2.js +0 -1
- package/assets/esri/core/workers/chunks/407dba2be21255eb47fc.js +0 -1
- package/assets/esri/core/workers/chunks/414093fa4957d17bf551.js +0 -1
- package/assets/esri/core/workers/chunks/44b1a4e8a65221ad3808.js +0 -1
- package/assets/esri/core/workers/chunks/48b31b8534e7bfe42976.js +0 -1
- package/assets/esri/core/workers/chunks/48f6af09436723f2d861.js +0 -1
- package/assets/esri/core/workers/chunks/49e37f653b81f9e4f7cc.js +0 -1
- package/assets/esri/core/workers/chunks/4b4221a869b3f0d517fa.js +0 -1
- package/assets/esri/core/workers/chunks/4b86bcde5992eb752ab0.js +0 -1
- package/assets/esri/core/workers/chunks/4b9095e2bd060efd47c4.js +0 -1
- package/assets/esri/core/workers/chunks/5084de4d0d4961b63ab7.js +0 -1
- package/assets/esri/core/workers/chunks/51a8a47aac1d8d22ba9d.js +0 -1
- package/assets/esri/core/workers/chunks/5324e4feb78203204c0c.js +0 -1
- package/assets/esri/core/workers/chunks/5536cee0dfc183584a9b.js +0 -1
- package/assets/esri/core/workers/chunks/58d10928959ae1e2e8d9.js +0 -1
- package/assets/esri/core/workers/chunks/597a8e3d9e458298fdd3.js +0 -1
- package/assets/esri/core/workers/chunks/5a006ff759fad9fc25cb.js +0 -1
- package/assets/esri/core/workers/chunks/60be6de19c5659091d8f.js +0 -1
- package/assets/esri/core/workers/chunks/61a38237e163b39520e5.js +0 -1
- package/assets/esri/core/workers/chunks/61fcdba6f2097378dce5.js +0 -1
- package/assets/esri/core/workers/chunks/6561c01c67db1f4c546e.js +0 -1
- package/assets/esri/core/workers/chunks/65eff0ae773505495f21.js +0 -1
- package/assets/esri/core/workers/chunks/67452ba9e87962b9e01e.js +0 -1
- package/assets/esri/core/workers/chunks/68195277046861ed39a7.js +0 -1
- package/assets/esri/core/workers/chunks/68705692335d57522030.js +0 -1
- package/assets/esri/core/workers/chunks/6a2a4da3a1cd64ff576f.js +0 -1
- package/assets/esri/core/workers/chunks/6af1680771fd8ae8c7dc.js +0 -1
- package/assets/esri/core/workers/chunks/6c367de583e0e657ca3a.js +0 -1
- package/assets/esri/core/workers/chunks/6d2021a0f0c9a3c6a0e6.js +0 -1
- package/assets/esri/core/workers/chunks/6db4a4f9a9ce7cc738d0.js +0 -1
- package/assets/esri/core/workers/chunks/6f2a9259240769c7cd6e.js +0 -1
- package/assets/esri/core/workers/chunks/724260e36efea90585f4.js +0 -1
- package/assets/esri/core/workers/chunks/74ae1222787389d5fcaa.js +0 -1
- package/assets/esri/core/workers/chunks/74bfaa98da6c5d375f05.js +0 -1
- package/assets/esri/core/workers/chunks/7a68a16f7fea712b9fd6.js +0 -1
- package/assets/esri/core/workers/chunks/7b2174b19d06c16715f0.js +0 -1
- package/assets/esri/core/workers/chunks/7d8e59ad438fb34b476d.js +0 -1
- package/assets/esri/core/workers/chunks/7eb94fc75926bc739233.js +0 -1
- package/assets/esri/core/workers/chunks/80795118467fb31ea4ed.js +0 -1
- package/assets/esri/core/workers/chunks/820c530b8765ecb1f36e.js +0 -1
- package/assets/esri/core/workers/chunks/830daaca32352da6eebe.js +0 -1
- package/assets/esri/core/workers/chunks/852649460d664b0a1a1d.js +0 -1
- package/assets/esri/core/workers/chunks/85c538bf1209f0da1f8e.js +0 -1
- package/assets/esri/core/workers/chunks/8c2921081ca3e7fd0385.js +0 -1
- package/assets/esri/core/workers/chunks/8db3fd97e8eccd3ba1db.js +0 -1
- package/assets/esri/core/workers/chunks/8e225dd0319672103561.js +0 -1
- package/assets/esri/core/workers/chunks/8e79a84e224d05204e7d.js +0 -1
- package/assets/esri/core/workers/chunks/8e9aff66a2d4e2cc102b.js +0 -1
- package/assets/esri/core/workers/chunks/917318f8e186f466dc52.js +0 -1
- package/assets/esri/core/workers/chunks/9267f6a65c2245696eac.js +0 -1
- package/assets/esri/core/workers/chunks/9407db0584c730591161.js +0 -1
- package/assets/esri/core/workers/chunks/958e161634b5bfd50625.js +0 -1
- package/assets/esri/core/workers/chunks/9658b46a7111cda53b0d.js +0 -1
- package/assets/esri/core/workers/chunks/974bcaf2a059b8cfb153.js +0 -1
- package/assets/esri/core/workers/chunks/99881d0a6c2490a16268.js +0 -1
- package/assets/esri/core/workers/chunks/99980c944acb8ff88d6a.js +0 -1
- package/assets/esri/core/workers/chunks/9c227785f4454d3966ea.js +0 -1
- package/assets/esri/core/workers/chunks/9d61d9136f3d00aab530.js +0 -1
- package/assets/esri/core/workers/chunks/9df2685583393a87df2d.js +0 -1
- package/assets/esri/core/workers/chunks/9e840a71906c4deef776.js +0 -1
- package/assets/esri/core/workers/chunks/9ee6e8a6b9bfda758c21.js +0 -1
- package/assets/esri/core/workers/chunks/a03f4605bde69bfb6d41.js +0 -1
- package/assets/esri/core/workers/chunks/a327843cee2057ee76c0.js +0 -1
- package/assets/esri/core/workers/chunks/a557347fb313df6fcc79.js +0 -1
- package/assets/esri/core/workers/chunks/a8da0728a12fc46dca23.js +0 -1
- package/assets/esri/core/workers/chunks/a9ea28e0f22cfe3ccf92.js +0 -1
- package/assets/esri/core/workers/chunks/aae92f23b38ae22dd8bf.js +0 -1
- package/assets/esri/core/workers/chunks/ad3714da9c90d7471385.js +0 -1
- package/assets/esri/core/workers/chunks/b047f9e9ba26037657ed.js +0 -1
- package/assets/esri/core/workers/chunks/b1323800119bd5c1759b.js +0 -1
- package/assets/esri/core/workers/chunks/b18c35f25da18a3219d7.js +0 -1
- package/assets/esri/core/workers/chunks/b1f68ee65cce457d7b5b.js +0 -1
- package/assets/esri/core/workers/chunks/b2d6fd436981c890152f.js +0 -1
- package/assets/esri/core/workers/chunks/b3c518ca8679fbe16ece.js +0 -1
- package/assets/esri/core/workers/chunks/b4b4fe06364bea9b0750.js +0 -1
- package/assets/esri/core/workers/chunks/b61b7005edd9ced925e9.js +0 -1
- package/assets/esri/core/workers/chunks/b661aae7e3ce955a783e.js +0 -1
- package/assets/esri/core/workers/chunks/b66ebe53bd879aa9de57.js +0 -1
- package/assets/esri/core/workers/chunks/b8ca80134abfcc692244.js +0 -1
- package/assets/esri/core/workers/chunks/bbdf10d76d852072c878.js +0 -1
- package/assets/esri/core/workers/chunks/bbeb61d9302323bae9fb.js +0 -1
- package/assets/esri/core/workers/chunks/bbfd2b4af8e498b61af9.js +0 -1
- package/assets/esri/core/workers/chunks/bdafd4f03585351cecc3.js +0 -1
- package/assets/esri/core/workers/chunks/bddd5aa7a14cd45ff91c.js +0 -1
- package/assets/esri/core/workers/chunks/be31c2cb97f664a54306.js +0 -1
- package/assets/esri/core/workers/chunks/be4319827db91aa71bf5.js +0 -1
- package/assets/esri/core/workers/chunks/bef32acf368b4d5aba37.js +0 -1
- package/assets/esri/core/workers/chunks/c1568bcd3f04014152e1.js +0 -1
- package/assets/esri/core/workers/chunks/c1a7c475ce0c59ffa75a.js +0 -1
- package/assets/esri/core/workers/chunks/c229a4eedda468c914a9.js +0 -1
- package/assets/esri/core/workers/chunks/c2b2942456f1b10d0e96.js +0 -1
- package/assets/esri/core/workers/chunks/c308d8f419ba63c583e6.js +0 -1
- package/assets/esri/core/workers/chunks/c5dc2743c7116d0bc0d8.js +0 -1
- package/assets/esri/core/workers/chunks/c68cc3b9c170b8de22dc.js +0 -1
- package/assets/esri/core/workers/chunks/c6ef0636073e28350c91.js +0 -1
- package/assets/esri/core/workers/chunks/c71368cd64f240da1743.js +0 -1
- package/assets/esri/core/workers/chunks/cb2f27e5d465124b9868.js +0 -1
- package/assets/esri/core/workers/chunks/cee2f7f3b3f84688e49d.js +0 -1
- package/assets/esri/core/workers/chunks/d0942860a53b02371e94.js +0 -1
- package/assets/esri/core/workers/chunks/d13eeff678972a245d5d.js +0 -1
- package/assets/esri/core/workers/chunks/d3d7b4cd28a0dc2720d4.js +0 -1
- package/assets/esri/core/workers/chunks/d3ea7ac6fe71c95faa75.js +0 -1
- package/assets/esri/core/workers/chunks/d41e4498aaf4970f48b0.js +0 -1
- package/assets/esri/core/workers/chunks/d56603e1d0031f3c5f3b.js +0 -1
- package/assets/esri/core/workers/chunks/d7c8725ffb175cec5f8a.js +0 -1
- package/assets/esri/core/workers/chunks/d96fa373dcb621c2a869.js +0 -1
- package/assets/esri/core/workers/chunks/da233362b06b6db375f1.js +0 -1
- package/assets/esri/core/workers/chunks/dbc8f15a6be835f4897d.js +0 -1
- package/assets/esri/core/workers/chunks/e00d0036974aaec7d876.js +0 -1
- package/assets/esri/core/workers/chunks/e0c75ae3a211a8da10f7.js +0 -1
- package/assets/esri/core/workers/chunks/e474106292834633e7d4.js +0 -1
- package/assets/esri/core/workers/chunks/e557043f90c051e93925.js +0 -1
- package/assets/esri/core/workers/chunks/e5cbed6f19c743915c8e.js +0 -1
- package/assets/esri/core/workers/chunks/e5ecd93bd32e99bc99d1.js +0 -1
- package/assets/esri/core/workers/chunks/e64ccdb8328eb6514e59.js +0 -1
- package/assets/esri/core/workers/chunks/eb8c4f194bb66a27d418.js +0 -1
- package/assets/esri/core/workers/chunks/ebd8c77df5df63bd3efe.js +0 -1
- package/assets/esri/core/workers/chunks/f14347f5d63f5d102617.js +0 -1
- package/assets/esri/core/workers/chunks/f3c0280b6c87f2383a60.js +0 -1
- package/assets/esri/core/workers/chunks/f42c4dcb8f413ca1c6fd.js +0 -1
- package/assets/esri/core/workers/chunks/f5773321487ec248fa3b.js +0 -1
- package/assets/esri/core/workers/chunks/f76911f71540b058a881.js +0 -1
- package/assets/esri/core/workers/chunks/f988d5a6dcc15fe34797.js +0 -1
- package/assets/esri/core/workers/chunks/fa29b5064d6626cfc019.js +0 -1
- package/assets/esri/core/workers/chunks/fa882d0f4a9826533421.js +0 -1
- package/assets/esri/core/workers/chunks/fb2d43608006f588e3cb.js +0 -1
- package/assets/esri/core/workers/chunks/fbd02e8277fe2252ecd2.js +0 -1
- package/assets/esri/core/workers/chunks/fc1aeea22f8c9d63864a.js +0 -1
- package/assets/esri/core/workers/chunks/fc3c03cfa3d6bf3b37dc.js +0 -1
- package/assets/esri/core/workers/chunks/fcf7299e2ee904ab9882.js +0 -1
- package/assets/esri/core/workers/chunks/ff07d351553deb70b889.js +0 -1
- package/assets/esri/core/workers/chunks/ffee66699f5d26569baf.js +0 -1
- package/chunks/OperatorDefinitions.js +0 -2
- package/chunks/areaOperator.js +0 -2
- package/chunks/bufferOperator.js +0 -2
- package/chunks/centroidOperator.js +0 -2
- package/chunks/clipOperator.js +0 -2
- package/chunks/containsOperator.js +0 -2
- package/chunks/convexHullOperator.js +0 -2
- package/chunks/crossesOperator.js +0 -2
- package/chunks/cutOperator.js +0 -2
- package/chunks/densifyOperator.js +0 -2
- package/chunks/differenceOperator.js +0 -2
- package/chunks/disjointOperator.js +0 -2
- package/chunks/distanceOperator.js +0 -2
- package/chunks/equalsOperator.js +0 -2
- package/chunks/generalizeOperator.js +0 -2
- package/chunks/geodesicBufferOperator.js +0 -2
- package/chunks/geodeticAreaOperator.js +0 -2
- package/chunks/geodeticDensifyOperator.js +0 -2
- package/chunks/geodeticDistanceOperator.js +0 -2
- package/chunks/geodeticLengthOperator.js +0 -2
- package/chunks/intersectionOperator.js +0 -2
- package/chunks/intersectsOperator.js +0 -2
- package/chunks/labelPointOperator.js +0 -2
- package/chunks/lengthOperator.js +0 -2
- package/chunks/multiPartToSinglePartOperator.js +0 -2
- package/chunks/offsetOperator.js +0 -2
- package/chunks/overlapsOperator.js +0 -2
- package/chunks/proximityOperator.js +0 -2
- package/chunks/relateOperator.js +0 -2
- package/chunks/simplifyOperator.js +0 -2
- package/chunks/symmetricDifferenceOperator.js +0 -2
- package/chunks/touchesOperator.js +0 -2
- package/chunks/unionOperator.js +0 -2
- package/chunks/withinOperator.js +0 -2
package/chunks/Envelope.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{G as t,d as e,a as s,a8 as i,y as n,E as r,c as o,P as a,i as h,b as m,a4 as _,m as l,U as u,j as d,x as c}from"./Point2D.js";import{g as p,a as g,r as f,G as v,t as y,C as x,d as b,q as E,i as N,h as D}from"./Geometry.js";import{Envelope2D as I}from"./Envelope2D.js";const C=[0,0,Number.NaN,0,0,0,0,0,-1,-1,0,0,0,0],T=[2,1,1,1,3,1,2,3,2,4,1,1,2,1],R=[1,1,1,0,2,1,1,1,0,0,0,0,0,1],A=[1,1,1,2,0,0,0,0,2,2,4,2,2,1],q=[4,8,4,8,1],w=25;function B(){return e(w,Number.NaN)}let z=class s{getAttributeCount(){return this.m_attributeCount}getSemantics(t){return this.m_indexToSemantics[t]}getSemanticsBitArray(){return this.m_semanticsBitArray}getAttributeIndex(t){return this.m_semanticsToIndexMap[t]}static getInterpolation(t){return R[t]}static getPersistence(t){return A[t]}static getPersistenceSize(t){return q[t]}static getPersistenceSizeFromSemantics(t){return s.getPersistenceSize(s.getPersistence(t))*s.getComponentCount(t)}static getComponentCount(t){return T[t]}static maxComponentCount(){return 4}static isInteger(t){return 2===t||3===t||4===t}static isIntegerSemantics(t){return s.isInteger(s.getPersistence(t))}static isTexture(t){return 5===t||6===t||7===t}hasAttribute(t){return!!(this.m_semanticsBitArray&1<<t)}hasAttributesFrom(t){return(this.m_semanticsBitArray&t.m_semanticsBitArray)===t.m_semanticsBitArray}hasZ(){return this.hasAttribute(1)}hasM(){return this.hasAttribute(2)}hasID(){return this.hasAttribute(3)}getTotalComponentCount(){return this.m_totalComponentCount}static getDefaultValue(t){return C[t]}static isDefaultValue(e,s){return t(C[e],s)}equals(t){return this===t}getDefaultPointAttributes(){return this.m_defaultPointAttributes}getPointAttributeOffset(t){return this.m_pointAttributeOffsets[t]}constructor(t){this.m_semanticsBitArray=t,this.m_attributeCount=0,this.m_totalComponentCount=0,this.m_semanticsToIndexMap=new Int32Array(14),this.m_indexToSemantics=new Int32Array(14),this.m_pointAttributeOffsets=new Int32Array(14),this.m_defaultPointAttributes=e(w,Number.NaN),this.m_semanticsToIndexMap.fill(-1),this.m_indexToSemantics.fill(-1);let i=0,n=1,r=14;for(;i<r;i++)t&n&&(this.m_semanticsToIndexMap[i]=this.m_attributeCount,this.m_indexToSemantics[this.m_attributeCount]=i,this.m_attributeCount++,this.m_totalComponentCount+=s.getComponentCount(i)),n<<=1;let o=0;for(i=0,r=this.getAttributeCount();i<r;i++){const t=this.getSemantics(i),e=s.getComponentCount(t),n=s.getDefaultValue(t);this.m_pointAttributeOffsets[i]=o;for(let s=0;s<e;s++)this.m_defaultPointAttributes[o]=n,o++}}m_semanticsBitArray;m_attributeCount;m_totalComponentCount;m_semanticsToIndexMap;m_indexToSemantics;m_pointAttributeOffsets;m_defaultPointAttributes};var L=z;function S(){return e(14,0)}class F{m_map;m_vd2D;m_vd3D;static s_thisInstance;static{F.s_thisInstance=new F}static getInstance(){return F.s_thisInstance}constructor(){this.m_map=new Map,this.m_vd2D=new L(1),this.m_map.set(1,this.m_vd2D),this.m_vd3D=new L(3),this.m_map.set(3,this.m_vd2D)}GetVD2D(){return this.m_vd2D}GetVD3D(){return this.m_vd3D}FindOrAdd(t){if(1===t)return this.GetVD2D();if(3===t)return this.GetVD3D();const e=this.m_map.get(t);if(e)return e;const s=new L(t);return this.m_map.set(t,s),s}}function P(t){return F.getInstance().FindOrAdd(t)}function H(t,e){if(!t||!e)return e||t;const s=t.getSemanticsBitArray()|e.getSemanticsBitArray();return(s&t.getSemanticsBitArray())===s?t:(s&e.getSemanticsBitArray())===s?e:P(s)}function V(t,e){const s=t.getSemanticsBitArray()|1<<e;return(s&t.getSemanticsBitArray())===s?t:P(s)}function k(t,e){const s=(t.getSemanticsBitArray()|1<<e)-(1<<e);return s===t.getSemanticsBitArray()?t:P(s)}function M(){return F.getInstance().GetVD2D()}function O(){return F.getInstance().GetVD3D()}function Y(t,e,s){if(s.fill(-1),null!==t&&null!==e)for(let i=0,n=t.getAttributeCount();i<n;i++)s[i]=e.getAttributeIndex(t.getSemantics(i))}class X{x;y;z;static construct(t,e,s){return new X(t,e,s)}constructor(t,e,s){void 0!==t?(this.x=t,this.y=e,this.z=s):this.x=this.y=this.z=Number.NaN}get 0(){return this.x}get 1(){return this.y}get 2(){return this.z}set 0(t){this.x=t}set 1(t){this.y=t}set 2(t){this.z=t}clone(){return new X(this.x,this.y,this.z)}assign(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}setCoords(t,e,s){return this.x=t,this.y=e,this.z=s,this}setCoordsPoint2DZ(t,e){return this.setCoords(t.x,t.y,e)}setCoordsPoint3D(t){this.x=t.x,this.y=t.y,this.z=t.z}setZero(){this.x=0,this.y=0,this.z=0}setNormalized(t){this.assign(t),this.normalizeThis()}normalizeThis(){const t=this.length();return t?(this.x/=t,this.y/=t,this.z/=t):(this.x=1,this.y=0,this.z=0),this}getUnitVector(){const t=new X;return t.setNormalized(this),t}sqrLength(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}lengthXY(){return p(0),0}static sqrDistance(t,e){return s(t.x-e.x)+s(t.y-e.y)+s(t.z-e.z)}static sqrDistanceCoords(t,e,i,n,r,o){return s(t-n)+s(e-r)+s(i-o)}static distance(t,e){return Math.sqrt(X.sqrDistance(t,e))}isEqual(t,e){return void 0===e&&(e=0),Math.abs(this.x-t.x)<=e&&Math.abs(this.y-t.y)<=e&&i(this.z,t.z,e)}static compareByLength(t,e,s,i){return p(0),0}isEqualCoords(t,e,s,i){return p(0),this.x===t&&this.y===e&&this.z===s}isEqualsTols(t,e,s){return p(0),!1}isEqualCoordsTols(t,e,s,i,n){return p(0),!1}static st_isEqual(t,e,s,i){return p(0),!1}equals(t,e){return this.isEqual(t,e)}equalsTols(t,e,s){return p(0),!1}divThis(t){return this.x/=t,this.y/=t,this.z/=t,this}subThis(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}setSub(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}sub(t){return X.construct(this.x-t.x,this.y-t.y,this.z-t.z)}addThis(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}add(t){return this.clone().addThis(t)}setAdd(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}mul(t){return X.construct(this.x*t,this.y*t,this.z*t)}dotProduct(t){return this.x*t.x+this.y*t.y+this.z*t.z}crossProductVector(t){const e=this.y*t.z-t.y*this.z,s=t.x*this.z-this.x*t.z,i=this.x*t.y-t.x*this.y;return new X(e,s,i)}setCrossProductVector(t,e){const s=t.y*e.z-e.y*t.z,i=e.x*t.z-t.x*e.z,n=t.x*e.y-e.x*t.y;return this.x=s,this.y=i,this.z=n,this}setScaled(t,e){return this.x=t*e.x,this.y=t*e.y,this.z=t*e.z,this}scaleThis(t){return this.x*=t,this.y*=t,this.z*=t,this}scaleZThis(t){return this.z*=t,this}setNAN(){return p(0),this}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)||Number.isNaN(this.z)}static getNAN(){return X.construct(Number.NaN,Number.NaN,Number.NaN)}isFinite(){return p(0),!1}isZero(){return 0===this.x&&0===this.y&&0===this.z}norm(t){return p(0),0}sqrDistanceFromCenterToSpheroidSurface(t,e){return p(0),0}distanceFromCenterToSpheroidSurface(t,e){return Math.sqrt(this.sqrDistanceFromCenterToSpheroidSurface(t,e))}static getClosestCoordinate(t,e,s,i=!1){return p(0),0}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:this.z<t.z?-1:this.z>t.z?1:0}compareXYZ(t){return p(0),0}negateThis(){this.x=-this.x,this.y=-this.y,this.z=-this.z}static averageFast(t,e){return p(0),{}}static average(t,e){return p(0),{}}static dimensions=3;static size(){return X.dimensions}static lerp(t,e,s){const i=new X;return n(t,e,s,i),i}static slerp(t,e,s){return p(0),{}}static compareVectors(t,e){return p(0),0}static selectRightHandedBasisFromNormal(t,e,s){const i=t.getUnitVector(),n=i.createAPerpendicular(),r=new X;r.setCrossProductVector(i,n),r.normalizeThis(),e.setCoordsPoint3D(n),s.setCoordsPoint3D(r)}createAPerpendicular(){const t=[this.crossProductVector(new X(0,0,1)),this.crossProductVector(new X(1,0,0)),this.crossProductVector(new X(0,1,0))],e=[t[0].sqrLength(),t[1].sqrLength(),t[2].sqrLength()],s=t[e.reduce((t,s,i)=>e[t]>e[i]?t:i,0)];return s.normalizeThis(),s}calculateAngle(t){return p(0),0}static crossDotSign(t,e,s){return p(0),0}static isBisectorRobust(t,e,s){return p(0),0}static compareZOrder(t,e){return p(0),!1}}class G{m_EnvelopeType=3;xmin;ymin;zmin;xmax;ymax;zmax;static constructEmpty(){return new G(Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN)}constructor(t,e,s,i,n,r){this.xmin=t,this.ymin=e,this.zmin=s,this.xmax=i,this.ymax=n,this.zmax=r,this.normalize()}inflate(t){this.inflateCoords(t,t,t)}inflateCoords(t,e,s){p(0)}getEnvelope2D(){return new I(this.xmin,this.ymin,this.xmax,this.ymax)}getEnvelopeZs(){return new r(this.zmin,this.zmax)}setEmptyZ(){this.zmin=Number.NaN,this.zmax=Number.NaN}normalize(){let t=!1;this.xmin<=this.xmax||(this.xmax=o(this.xmin,this.xmin=this.xmax),t=!0),this.ymin<=this.ymax||(this.ymax=o(this.ymin,this.ymin=this.ymax),t=!0),!t||this.xmin<=this.xmax&&this.ymin<=this.ymax?this.zmin<=this.zmax||(this.zmax=o(this.zmin,this.zmin=this.zmax),this.zmin<=this.zmax||this.setEmptyZ()):this.setEmpty()}isEmpty(){return Number.isNaN(this.xmin)||Number.isNaN(this.ymin)||Number.isNaN(this.xmax)||Number.isNaN(this.ymax)}isEmptyZ(){return Number.isNaN(this.zmin)||Number.isNaN(this.zmax)}setEmpty(){this.xmin=Number.NaN,this.ymin=Number.NaN,this.zmin=Number.NaN,this.xmax=Number.NaN,this.ymax=Number.NaN,this.zmax=Number.NaN}mergeEnv3D(t){t.isEmpty()||(this.mergeCoords(t.xmin,t.ymin,t.zmin),this.mergeCoords(t.xmax,t.ymax,t.zmax))}mergeNe(t){this.mergeNeCoords(t.x,t.y,t.z)}mergeNeCoords(t,e,s){this.xmin>t?this.xmin=t:this.xmax<t&&(this.xmax=t),this.ymin>e?this.ymin=e:this.ymax<e&&(this.ymax=e),this.zmin>s?this.zmin=s:this.zmax<s&&(this.zmax=s)}mergeCoords(t,e,s){this.isEmpty()?(this.xmin=t,this.xmax=t,this.ymin=e,this.ymax=e,this.zmin=s,this.zmax=s):(this.isEmptyZ()&&(this.zmin=s,this.zmax=s),this.mergeNeCoords(t,e,s))}setCoords(t,e,s,i,n,r){this.xmin=t,this.ymin=e,this.zmin=s,this.xmax=i,this.ymax=n,this.zmax=r,this.normalize()}sqrDistanceEnvelope3DAndPoints(t,e,s,i=1){return p(0),0}sqrMaxDistance(t,e=1){return p(0),0}}const U=-559038737;var Z=z;function Q(t,e,s){switch(t){case 0:return new it(e,s);case 1:return new nt(e,s);case 2:return new st(e,s);case 3:throw new Error("64 bit int attribute stream not implemented");case 4:return new et(e,s);default:g("")}}function j(t,e){const s=Z.getComponentCount(t);return Q(Z.getPersistence(t),e*s,Z.getDefaultValue(t))}function W(t,e){const s=Z.getComponentCount(t);return Q(Z.getPersistence(t),e*s)}function J(t,e){return new st(t,e)}function K(t,e){return new et(t,e)}function $(t,e){return new nt(t,e)}class tt{static s_constructMin=2;static s_resizeMin=30;size(){return this.m_size}checkResize(t,e){t>this.m_size&&this.resize(t,e)}resize(t,e){if((t=Math.trunc(t))===this.m_size)return;const s=!!e||Number.isNaN(e);if(t<this.m_a.length)this.m_a.length>tt.s_resizeMin&&1.25*t<this.m_a.length&&(this.m_a=this.m_a.slice(0,t)),s&&t>this.m_size&&this.m_a.fill(e,this.m_size,t);else if(t>=this.m_a.length){const i=1.25*t,n=new this.m_a.constructor(i);n.set(this.m_a),this.m_a=n,s&&this.m_a.fill(e,this.m_size,t)}this.m_size=t}resizeRounded(t,e){return this.resize(t,e)}reserve(t){}read(t){return this.m_a[t]}readAsDbl(t){return this.read(t)}write(t,e){this.m_a[t]=e}writeAsDbl(t,e){this.write(t,e)}setRange(t,e,s){(e<0||s<0||s+e>this.size())&&g(),this.m_a.fill(t,e,e+s)}add(t){this.resize(this.m_size+1),this.m_a[this.m_size-1]=t}addArray(t,e){const s=this.m_size;void 0===e?(this.resize(this.m_size+t.length),this.m_a.set(t,s)):(this.resize(this.m_size+e),this.m_a.set(t.slice(0,e),s))}getArray(){return this.m_a}equals(t,e,s,i){if(this.getPersistence()!==t.getPersistence())return!1;return rt(this,t,e,s,i)}insertRange(t,e,s,i){const n=this.m_size;this.checkResize(Math.max(0,i)+s),this.m_a.copyWithin(t+s,t,i>=0?i:n),this.m_a.fill(e,t,t+s)}readRange(t,e){return this.m_a.slice(t,t+e)}insertRangeFromStream(t,e,s,i,n,r,o){p(this.getPersistence()===e.getPersistence());const a=e,h=this.m_size;i&&this.checkResize(Math.max(0,o)+i),this.m_a.copyWithin(t+i,t,o>=0?o:h),this.m_a.set(a.readRange(s,i),t),n||this.reverseRange(t,i,r)}writeRange(t,e,s,i,n,r){p(this.getPersistence()===s.getPersistence());const o=s;if((t<0||e<0||i<0)&&g(),o.size()<i+e&&g(),0===e)return;this.size()<e+t&&this.resize(e+t);const a=o.m_a.subarray(i,i+e);ot(this.m_a,t,e,a)}insertAttributes(t,e,s,i){const n=Z.getComponentCount(s);this.m_a.copyWithin(t+n,t,i>=0?i:this.m_size);for(let r=0;r<n;r++)this.m_a[t+r]=e.getAttributeAsDbl(s,r)}insertAttributesFromPoints(t,e,s,i,n){p(Z.getPersistence(i)===this.getPersistence());const r=Z.getComponentCount(i),o=this.m_size;if(this.checkResize(Math.max(0,n)+r*s),this.m_a.copyWithin(t+r*s,t,n>=0?n:o),0===i){const i=new a;for(let n=t,r=0;r<s;r++,n+=2)e[r].queryXY(i),this.m_a[n]=i.x,this.m_a[n+1]=i.y}else if(1===r)for(let a=t,h=0;h<s;h++,a++)this.m_a[a]=e[h].getAttributeAsDbl(i,0);else for(let a=t,h=0;h<s;h++,a+=r)for(let t=0;t<r;t++)this.m_a[a+t]=e[h].getAttributeAsDbl(i,t)}eraseRange(t,e,s){this.m_size<t+e&&g(),this.m_a.copyWithin(t,t+e),this.m_size-=e}reverseRange(t,e,s){if((s<1||e%s!==0)&&g(),this.m_a.subarray(t,t+e).reverse(),s>1)for(let i=t,n=t+e;i<n;i+=s){let t=i,e=i+s-1;for(;t<e;){const s=this.m_a[t];this.m_a[t]=this.m_a[e],this.m_a[e]=s,t++,e--}}}rotate(t,e,s){(e<t||e>s||t>s)&&f("rotate"),e!==t&&e!==s&&(this.reverseRange(t,e-t,1),this.reverseRange(e,s-e,1),this.reverseRange(t,s-t,1))}sort(t,e,s){this.m_a.subarray(t,e).sort(s)}constructor(t){if(t.move)this.m_a=t.move.m_a,this.m_size=t.move.m_size,t.move.m_a=t.move.m_a.slice(0,0),t.move.m_size=0;else if(t.fromArray)this.m_a=t.fromArray,this.m_size=t.size??t.fromArray.length;else if(t.copy)this.m_size=t.copy.m_size,t.maxSize&&(this.m_size=Math.min(t.maxSize,this.m_size)),this.m_a=t.copy.m_a.slice(0,this.m_size);else{const e=Math.max(t.size,tt.s_constructMin);this.m_a=new t.ctor(e),(t.defaultValue||Number.isNaN(t.defaultValue))&&this.m_a.fill(t.defaultValue),this.m_size=t.size}}m_a;m_size}class et extends tt{setBits(t,e){this.m_a[t]|=e}clearBits(t,e){this.m_a[t]&=~e}getPersistence(){return 4}clone(){return new et({ctor:Int8Array,copy:this})}restrictedClone(t){return new et({ctor:Int8Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Int8Array,size:t,defaultValue:e}:t)}}class st extends tt{getPersistence(){return 2}clone(){return new st({ctor:Int32Array,copy:this})}restrictedClone(t){return new st({ctor:Int32Array,copy:this,maxSize:t})}write(t,e){p(e<=h()),super.write(t,e)}constructor(t,e){super("number"==typeof t?{ctor:Int32Array,size:t,defaultValue:e}:t)}}class it extends tt{getPersistence(){return 0}clone(){return new it({ctor:Float32Array,copy:this})}restrictedClone(t){return new it({ctor:Float32Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Float32Array,size:t,defaultValue:e}:t)}}class nt extends tt{getPersistence(){return 1}applyTransformation(t,e,s){(1&e||e+2*s>this.size())&&g();const i=0===e?this.m_a:this.m_a.subarray(e);t.transformInterleavedPoints(i,s,i)}readPoint2D(t){const e=this.m_a[t],s=this.m_a[t+1];return new a(e,s)}queryPoint2D(t,e){return e.x=this.m_a[t],e.y=this.m_a[t+1],e}writePoint2D(t,e){this.write(t,e.x),this.write(t+1,e.y)}insert(t,e,s){this.checkResize(s+2),this.m_a.copyWithin(t+2,t,s),this.m_a[t]=e.x,this.m_a[t+1]=e.y}insertRangeFromPoints(t,e,s,i,n,r){const o=this.m_size;if(this.checkResize(Math.max(r,0)+2*i),this.m_a.copyWithin(t+2*i,t,r>=0?r:o),n)for(let a=s,h=t,m=0;m<i;++m,++a){const t=e[a];this.m_a[h++]=t.x,this.m_a[h++]=t.y}else for(let a=s+i-1,h=t,m=0;m<i;++m,--a){const t=e[a];this.m_a[h++]=t.x,this.m_a[h++]=t.y}}queryRange(t,e,s,i,n){if((t<0||e<0)&&g(),!i&&(n<=0||e%n!==0)&&g(),0===e)return;if(1===e)return void(s[0]=this.m_a[t]);const r=this.m_a.subarray(t,t+e);s.set(r)}writeRangeFromArray(t,e,s,i,n){if((t<0||e<0)&&g(),0===e)return;if(1===e)return void(this.m_a[t]=s[0]);let r=s;e<s.length&&(r=s.subarray(0,e)),this.m_a.set(r,t)}clone(){return new nt({ctor:Float64Array,copy:this})}restrictedClone(t){return new nt({ctor:Float64Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Float64Array,size:t,defaultValue:e}:t)}}function rt(t,e,s,n,r){if(t.getPersistence()!==e.getPersistence())return!1;const o=t.getPersistence()<=1,a=t.size(),h=e.size();if(n>a||n>h)return!1;if(r)if(o){for(let m=s;m<n;m++)if(!i(t.read(m),e.read(m),r))return!1}else for(let i=s;i<n;i++){let s=t.read(i)-e.read(i);if(s<0&&(s=-s),s>r)return!1}else for(let i=s;i<n;i++){const s=t.read(i),n=e.read(i);if(s!==n){if(o&&Number.isNaN(s)&&Number.isNaN(n))continue;return!1}}return!0}function ot(t,e,s,i,n,r){if((e<0||s<0)&&g(),0===s)return;if(1===s)return void(t[e]=i[0]);let o=i;s<i.length&&(o=i.subarray(0,s)),t.set(o,e)}const at={partCount:0,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:0,segmentCountBezier:0};class ht{m_buckets;m_bucketedIndices;static c_maxBuckets=65536;m_minValue=-1;m_maxValue=-1;m_dy=Number.NaN;constructor(){this.m_buckets=new st(0),this.m_bucketedIndices=new st(0)}static sortEx(t,e,s,i,n=32){if(s-e<=n)return void i.userSort(e,s,t);(new ht).sort(t,e,s,i,n)}sort(t,e,s,i,n=32){if(s-e<=n)return void i.userSort(e,s,t);let r=!0,o=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let m=e;m<s;m++){const e=i.getValue(t.read(m));e<o&&(o=e),e>a&&(a=e)}if(this.reset(s-e,o,a,s-e)){for(let r=e;r<s;r++){const s=t.read(r),n=i.getValue(s),o=this.getBucket(n);this.m_buckets.write(o,this.m_buckets.read(o)+1),this.m_bucketedIndices.write(r-e,s)}let n=this.m_buckets.read(0);this.m_buckets.write(0,0);for(let t=1,e=this.m_buckets.size();t<e;t++){const e=this.m_buckets.read(t);this.m_buckets.write(t,n),n+=e}for(let r=e;r<s;r++){const s=this.m_bucketedIndices.read(r-e),n=i.getValue(s),o=this.getBucket(n),a=this.m_buckets.read(o);t.write(a+e,s),this.m_buckets.write(o,a+1)}r=!1}if(r)return void i.userSort(e,s,t);let h=0;for(let m=0,_=this.m_buckets.size();m<_;m++){const s=h;h=this.m_buckets.read(m),h>s&&i.userSort(e+s,e+h,t)}this.m_buckets.size()>100&&(this.m_buckets.resize(0),this.m_bucketedIndices.resize(0))}reset(t,e,s,i){if(t<2||s===e)return!1;const n=Math.min(ht.c_maxBuckets,t);return this.m_buckets.resize(n),this.m_buckets.setRange(0,0,this.m_buckets.size()),this.m_minValue=e,this.m_maxValue=s,this.m_bucketedIndices.resize(i),this.m_dy=(s-e)/(n-1),!0}getBucket(t){return Math.trunc((t-this.m_minValue)/this.m_dy)}getBucketCount(){return this.m_buckets.size()}}class mt{m_buffer=new Int32Array(0);m_firstFree=-1;m_last=0;size_=0;capacity_=0;stride;capacity(){return this.capacity_}constructor(t){this.stride=t}size(){return this.size_}deleteElement(t){t<this.m_last?(this.m_buffer[t*this.stride]=this.m_firstFree,this.m_firstFree=t):this.m_last--,this.size_--}getField(t,e){return this.m_buffer[t*this.stride+e]}setField(t,e,s){this.m_buffer[t*this.stride+e]=s}elementToIndex(t){return t}newElement(){let t=this.m_firstFree;if(-1===t){if(this.m_last===this.capacity_){let t=0!==this.capacity_?Math.trunc(3*(this.capacity_+1)/2):1;if(t>Number.MAX_SAFE_INTEGER&&(t=Number.MAX_SAFE_INTEGER),t===this.capacity_)throw new Error("index out of bounds");this.grow_(t)}t=this.m_last,this.m_last++}else this.m_firstFree=this.m_buffer[t*this.stride];this.size_++;for(let e=t*this.stride;e<t*this.stride+this.stride;e++)this.m_buffer[e]=-1;return t}newElementPset(t){let e=this.m_firstFree;if(-1===e){if(this.m_last===this.capacity_){let t=0!==this.capacity_?Math.trunc(3*(this.capacity_+1)/2):1;if(t>Number.MAX_SAFE_INTEGER&&(t=Number.MAX_SAFE_INTEGER),t===this.capacity_)throw new Error("index out of bounds");this.grow_(t)}e=this.m_last,this.m_last++}else this.m_firstFree=this.m_buffer[e*this.stride];this.size_++;const s=e*this.stride;for(let i=0;i<t.length;i++)this.m_buffer[s+i]=t[i];return e}deleteAll(t){this.m_firstFree=-1,this.m_last=0,this.size_=0,t&&(this.m_buffer=new Int32Array(0),this.capacity_=0)}setCapacity(t){t>this.capacity_&&this.grow_(t)}swap(t,e){const s=t*this.stride,i=e*this.stride;for(let n=0;n<this.stride;n++){const t=this.m_buffer[i+n];this.m_buffer[i+n]=this.m_buffer[s+n],this.m_buffer[s+n]=t}}swapField(t,e,s){const i=this.m_buffer[this.stride*e+s];this.m_buffer[this.stride*e+s]=this.m_buffer[this.stride*t+s],this.m_buffer[this.stride*t+s]=i}static impossibleIndex2(){return-2}static impossibleIndex3(){return-3}static isValidElement(t){return t>=0}grow_(t){null==this.m_buffer&&(this.m_buffer=new Int32Array(0));const e=this.stride*t,s=new Int32Array(e);s.set(this.m_buffer,0),this.m_buffer=s,this.capacity_=t}}function _t(t,e){return{element:t,box:e.clone()}}class lt{m_extent=new I;m_dataExtent=new I;m_childExtents=[new I,new I,new I,new I];m_quadTreeNodes;m_elementNodes=new mt(4);m_data=[];m_freeData=[];m_root=-1;m_height=8;m_bStoreDuplicates;static m_quadrantMask=3;static m_heightBitShift=2;static m_flushingCount=5;constructor(t,e,s){void 0===s&&(s=!1),this.m_quadTreeNodes=new mt(s?11:10),this.m_bStoreDuplicates=s,this.reset_(t,e)}reset(t,e){this.m_quadTreeNodes.deleteAll(!1),this.m_elementNodes.deleteAll(!1),this.m_data.length=0,this.m_freeData.length=0,this.reset_(t,e)}insert(t,e){if(-1===this.m_root&&this.createRoot_(),this.m_bStoreDuplicates){const s=this.insertDuplicates_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}const s=this.insert_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}insertEx(t,e,s){if(-1===this.m_root&&this.createRoot_(),this.m_bStoreDuplicates){const s=this.insertDuplicates_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}let i;i=-1===s?this.m_root:this.getQuad_(s);const n=this.getHeight(i),r=this.getExtent(i),o=this.insert_(t,e,n,r,i,!1,-1);return-1!==o&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),o}removeElement(t){p(0)}getElement(t){return this.getElementValue_(this.getData_(t))}getElementAtIndex(t){return p(0),0}getElementExtent(t){const e=this.getData_(t);return this.getBoundingBoxValue_(e).clone()}getElementExtentAtIndex(t){return p(0),{}}getDataExtent(){return this.m_dataExtent.clone()}getQuadTreeExtent(){return p(0),{}}getHeight(t){return this.m_quadTreeNodes.getField(t,6)>>lt.m_heightBitShift}getMaxHeight(){return this.m_height}getExtent(t){const e=new I;if(e.setCoords({env2D:this.m_extent}),t===this.m_root)return e;const s=[];let i=t;do{s.push(this.getQuadrant_(i)),i=this.getParent_(i)}while(i!==this.m_root);const n=s.length;for(let r=0;r<n;r++){const t=s.at(-1);s.pop(),0===t?(e.xmin=.5*(e.xmin+e.xmax),e.ymin=.5*(e.ymin+e.ymax)):1===t?(e.xmax=.5*(e.xmin+e.xmax),e.ymin=.5*(e.ymin+e.ymax)):2===t?(e.xmax=.5*(e.xmin+e.xmax),e.ymax=.5*(e.ymin+e.ymax)):(e.xmin=.5*(e.xmin+e.xmax),e.ymax=.5*(e.ymin+e.ymax))}return e}getQuad(t){return this.getQuad_(t)}getElementCount(){return-1===this.m_root?0:this.getSubTreeElementCount_(this.m_root)}getSubTreeElementCount(t){return this.getSubTreeElementCount_(t)}getContainedSubTreeElementCount(t){return this.m_bStoreDuplicates?this.getContainedSubTreeElementCount_(t):this.getSubTreeElementCount_(t)}getIntersectionCount(t,e,s){if(-1===this.m_root)return 0;const i=new I;i.setCoords({env2D:t}),i.inflateCoords(e,e);const n=[],r=[];n.push(this.m_root),r.push(this.m_extent.clone());const o=l(I,4);let a=0;for(;n.length>0;){let t=!1;const e=n.at(-1),h=r.at(-1);if(n.pop(),r.pop(),i.containsEnvelope(h)){if(a+=this.getSubTreeElementCount(e),s>0&&a>=s)return s}else if(i.isIntersecting(h)){for(let t=this.getFirstElement_(e);-1!==t;t=this.getNextElement_(t)){const e=this.getData_(t);if(this.getBoundingBoxValue_(e).isIntersecting(i)&&(a++,s>0&&a>=s))return s}t=this.getHeight(e)+1<=this.m_height}if(t){lt.setChildExtents_(h,o);for(let t=0;t<4;t++){const s=this.getChild_(e,t);if(-1!==s&&this.getSubTreeElementCount_(s)>0){i.isIntersecting(o[t])&&(n.push(s),r.push(o[t].clone()))}}}}return a}hasData(t,e){return this.getIntersectionCount(t,e,1)>=1}getIterator(t,e){return new ut(this,t,e)}getIteratorForQT(){return new ut(this)}getSortedIterator(t,e){return new dt(this.getIterator(t,e))}getSortedIteratorForQT(){return new dt(this.getIteratorForQT())}visitLeavesNearest(t,e,s,i){p(0)}reset_(t,e){(e<0||e>127)&&g("invalid height"),this.m_height=e,this.m_extent.setCoords({env2D:t}),this.m_dataExtent.setEmpty(),this.m_root=-1}insert_(t,e,s,i,n,r,o){if(!i.containsEnvelope(e))return 0===s?-1:this.insert_(t,e,0,this.m_extent,this.m_root,r,o);if(!r)for(let _=n;-1!==_;_=this.getParent_(_))this.setSubTreeElementCount_(_,this.getSubTreeElementCount_(_)+1);const a=new I;a.setCoords({env2D:i});let h,m=n;for(h=s;h<this.m_height&&this.canPushDown_(m);h++){lt.setChildExtents_(a,this.m_childExtents);let t=!1;for(let s=0;s<4;s++)if(this.m_childExtents[s].containsEnvelope(e)){t=!0;let e=this.getChild_(m,s);-1===e&&(e=this.createChild_(m,s)),this.setSubTreeElementCount_(e,this.getSubTreeElementCount_(e)+1),m=e,a.setCoords({env2D:this.m_childExtents[s]});break}if(!t)break}return this.insertAtQuad_(t,e,h,a,m,r,n,o,-1)}insertDuplicates_(t,e,s,i,n,r,o){if(!r){if(!i.containsEnvelope(e))return-1;this.setSubTreeElementCount_(n,this.getSubTreeElementCount_(n)+1),this.setContainedSubTreeElementCount_(n,this.getContainedSubTreeElementCount_(n)+1)}const a=Math.max(e.width(),e.height());let h=-1;const m=[],_=[],u=[];m.push(n),_.push(i.clone()),u.push(s);const d=l(I,4);for(;m.length>0;){let s=!1;const i=m.at(-1),l=_.at(-1),c=u.at(-1);if(m.pop(),_.pop(),u.pop(),c+1<this.m_height&&this.canPushDown_(i)){a<=Math.max(l.width(),l.height())/2&&(s=!0)}if(s){lt.setChildExtents_(l,d);let t=!1;for(let s=0;s<4;s++)if(t=d[s].containsEnvelope(e),t){let t=this.getChild_(i,s);-1===t&&(t=this.createChild_(i,s)),m.push(t),_.push(d[s].clone()),u.push(c+1),this.setSubTreeElementCount_(t,this.getSubTreeElementCount_(t)+1),this.setContainedSubTreeElementCount_(t,this.getContainedSubTreeElementCount_(t)+1);break}if(!t)for(let s=0;s<4;s++){if(d[s].isIntersecting(e)){let t=this.getChild_(i,s);-1===t&&(t=this.createChild_(i,s)),m.push(t),_.push(d[s].clone()),u.push(c+1),this.setSubTreeElementCount_(t,this.getSubTreeElementCount_(t)+1)}}}else h=this.insertAtQuad_(t,e,c,l,i,r,n,o,h),r=!1}return 0}insertAtQuad_(t,e,s,i,n,r,o,a,h){this.getFirstElement_(n);const m=this.getLastElement_(n);let _=-1;if(r){if(n===o)return a;this.disconnectElementHandle_(a),_=a}else-1===h?(_=this.createElement_(),this.setDataValues_(this.getData_(_),t,e)):_=this.createElementFromDuplicate_(h);return this.setQuad_(_,n),-1!==m?(this.setPrevElement_(_,m),this.setNextElement_(m,_)):this.setFirstElement_(n,_),this.setLastElement_(n,_),this.setLocalElementCount_(n,this.getLocalElementCount_(n)+1),this.canFlush_(n)&&this.flush_(s,i,n),_}static setChildExtents_(t,e){const s=.5*(t.xmin+t.xmax),i=.5*(t.ymin+t.ymax);e[0].setCoords({xmin:s,ymin:i,xmax:t.xmax,ymax:t.ymax}),e[1].setCoords({xmin:t.xmin,ymin:i,xmax:s,ymax:t.ymax}),e[2].setCoords({xmin:t.xmin,ymin:t.ymin,xmax:s,ymax:i}),e[3].setCoords({xmin:s,ymin:t.ymin,xmax:t.xmax,ymax:i})}disconnectElementHandle_(t){const e=this.getQuad_(t),s=this.getFirstElement_(e),i=this.getLastElement_(e),n=this.getPrevElement_(t),r=this.getNextElement_(t);s===t?(-1!==r?this.setPrevElement_(r,-1):this.setLastElement_(e,-1),this.setFirstElement_(e,r)):i===t?(this.setNextElement_(n,-1),this.setLastElement_(e,n)):(this.setPrevElement_(r,n),this.setNextElement_(n,r)),this.setPrevElement_(t,-1),this.setNextElement_(t,-1),this.setLocalElementCount_(e,this.getLocalElementCount_(e)-1)}canFlush_(t){return this.getLocalElementCount_(t)===lt.m_flushingCount&&!this.hasChildren_(t)}flush_(t,e,s){let i;const n=new I;let r=this.getFirstElement_(s),o=-1,a=-1;do{a=this.getData_(r),i=this.getElementValue_(a),n.setCoords({env2D:this.getBoundingBoxValue_(a)}),o=this.getNextElement_(r),this.m_bStoreDuplicates?this.insertDuplicates_(i,n,t,e,s,!0,r):this.insert_(i,n,t,e,s,!0,r),r=o}while(-1!==r)}canPushDown_(t){return this.getLocalElementCount_(t)>=lt.m_flushingCount||this.hasChildren_(t)}hasChildren_(t){return-1!==this.getChild_(t,0)||-1!==this.getChild_(t,1)||-1!==this.getChild_(t,2)||-1!==this.getChild_(t,3)}createChild_(t,e){const s=this.m_quadTreeNodes.newElement();return this.setChild_(t,e,s),this.setSubTreeElementCount_(s,0),this.setLocalElementCount_(s,0),this.setParent_(s,t),this.setHeightAndQuadrant_(s,this.getHeight_(t)+1,e),this.m_bStoreDuplicates&&this.setContainedSubTreeElementCount_(s,0),s}createRoot_(){this.m_root=this.m_quadTreeNodes.newElement(),this.setSubTreeElementCount_(this.m_root,0),this.setLocalElementCount_(this.m_root,0),this.setHeightAndQuadrant_(this.m_root,0,0),this.m_bStoreDuplicates&&this.setContainedSubTreeElementCount_(this.m_root,0)}createElement_(){const t=this.m_elementNodes.newElement();let e;return this.m_freeData.length>0?(e=this.m_freeData.at(-1),this.m_freeData.pop()):(e=this.m_data.length,this.m_data.length=e+1),this.setData_(t,e),t}createElementFromDuplicate_(t){const e=this.m_elementNodes.newElement(),s=this.getData_(t);return this.setData_(e,s),e}freeElementAndBoxNode_(t){p(0)}getChild_(t,e){return this.m_quadTreeNodes.getField(t,e)}setChild_(t,e,s){this.m_quadTreeNodes.setField(t,e,s)}getFirstElement_(t){return this.m_quadTreeNodes.getField(t,4)}setFirstElement_(t,e){this.m_quadTreeNodes.setField(t,4,e)}getLastElement_(t){return this.m_quadTreeNodes.getField(t,5)}setLastElement_(t,e){this.m_quadTreeNodes.setField(t,5,e)}getQuadrant_(t){return this.m_quadTreeNodes.getField(t,6)<.m_quadrantMask}getHeight_(t){return this.m_quadTreeNodes.getField(t,6)>>lt.m_heightBitShift}setHeightAndQuadrant_(t,e,s){const i=e<<lt.m_heightBitShift|s;this.m_quadTreeNodes.setField(t,6,i)}getLocalElementCount_(t){return this.m_quadTreeNodes.getField(t,7)}setLocalElementCount_(t,e){this.m_quadTreeNodes.setField(t,7,e)}getSubTreeElementCount_(t){return this.m_quadTreeNodes.getField(t,8)}setSubTreeElementCount_(t,e){this.m_quadTreeNodes.setField(t,8,e)}getParent_(t){return this.m_quadTreeNodes.getField(t,9)}setParent_(t,e){this.m_quadTreeNodes.setField(t,9,e)}getContainedSubTreeElementCount_(t){return this.m_quadTreeNodes.getField(t,10)}setContainedSubTreeElementCount_(t,e){this.m_quadTreeNodes.setField(t,10,e)}getData_(t){return this.m_elementNodes.getField(t,0)}setData_(t,e){this.m_elementNodes.setField(t,0,e)}getPrevElement_(t){return this.m_elementNodes.getField(t,1)}getNextElement_(t){return this.m_elementNodes.getField(t,2)}setPrevElement_(t,e){this.m_elementNodes.setField(t,1,e)}setNextElement_(t,e){this.m_elementNodes.setField(t,2,e)}getQuad_(t){return this.m_elementNodes.getField(t,3)}setQuad_(t,e){this.m_elementNodes.setField(t,3,e)}getElementValue_(t){return this.m_data[t].element}getBoundingBoxValue_(t){return this.m_data[t].box}setDataValues_(t,e,s){this.m_data[t]=_t(e,s)}}class ut{m_bLinear=!1;m_queryStart=new a;m_queryEnd=new a;m_queryBox=new I;m_tolerance=0;m_currentElementHandle=-1;m_nextElementHandle=-1;m_quadTree;m_quadsStack=[];m_extentsStack=[];m_childExtents=[new I,new I,new I,new I];constructor(t,e,s){this.m_quadTree=t,e&&this.resetIterator(e,s)}resetIterator(t,e){if(void 0===e&&(e=0),t instanceof I)return this.m_quadsStack.length=0,this.m_extentsStack.length=0,this.m_currentElementHandle=-1,this.m_queryBox.setCoords({env2D:t}),this.m_queryBox.inflateCoords(e,e),this.m_tolerance=Number.NaN,void(-1!==this.m_quadTree.m_root&&this.m_queryBox.isIntersecting(this.m_quadTree.m_extent)?(this.m_quadsStack.push(this.m_quadTree.m_root),this.m_extentsStack.push(this.m_quadTree.m_extent.clone()),this.m_nextElementHandle=this.m_quadTree.getFirstElement_(this.m_quadTree.m_root),this.m_bLinear=!1):this.m_nextElementHandle=-1);if(this.m_quadsStack.length=0,this.m_extentsStack.length=0,this.m_currentElementHandle=-1,t.queryLooseEnvelope(this.m_queryBox),this.m_queryBox.inflateCoords(e,e),-1!==this.m_quadTree.m_root&&this.m_queryBox.isIntersecting(this.m_quadTree.m_extent)){const s=t.getGeometryType();if(this.m_bLinear=s===v.enumLine,this.m_bLinear){const s=t;this.m_queryStart.assign(s.getStartXY()),this.m_queryEnd.assign(s.getEndXY()),this.m_tolerance=e}else this.m_tolerance=Number.NaN;this.m_quadsStack.push(this.m_quadTree.m_root),this.m_extentsStack.push(this.m_quadTree.m_extent.clone()),this.m_nextElementHandle=this.m_quadTree.getFirstElement_(this.m_quadTree.m_root)}else this.m_nextElementHandle=-1}next(){if(0===this.m_quadsStack.length)return-1;this.m_currentElementHandle=this.m_nextElementHandle;const t=new a,e=new a,s=new I;let i=!1;for(;!i;){for(;-1!==this.m_currentElementHandle;){const n=this.m_quadTree.getData_(this.m_currentElementHandle);if(s.setCoords({env2D:this.m_quadTree.getBoundingBoxValue_(n)}),s.isIntersecting(this.m_queryBox)){if(!this.m_bLinear){i=!0;break}if(t.setCoordsPoint2D(this.m_queryStart),e.setCoordsPoint2D(this.m_queryEnd),s.inflateCoords(this.m_tolerance,this.m_tolerance),s.clipLine(t,e)>0){i=!0;break}}this.m_currentElementHandle=this.m_quadTree.getNextElement_(this.m_currentElementHandle)}if(-1===this.m_currentElementHandle){const s=this.m_quadsStack.at(-1),i=this.m_extentsStack.at(-1);lt.setChildExtents_(i,this.m_childExtents),this.m_quadsStack.pop(),this.m_extentsStack.pop();for(let n=0;n<4;n++){const i=this.m_quadTree.getChild_(s,n);if(-1!==i&&this.m_quadTree.getSubTreeElementCount(i)>0&&this.m_childExtents[n].isIntersecting(this.m_queryBox))if(this.m_bLinear){t.setCoordsPoint2D(this.m_queryStart),e.setCoordsPoint2D(this.m_queryEnd);const s=new I;s.setCoords({env2D:this.m_childExtents[n]}),s.inflateCoords(this.m_tolerance,this.m_tolerance),s.clipLine(t,e)>0&&(this.m_quadsStack.push(i),this.m_extentsStack.push(this.m_childExtents[n].clone()))}else this.m_quadsStack.push(i),this.m_extentsStack.push(this.m_childExtents[n].clone())}if(0===this.m_quadsStack.length)return-1;this.m_currentElementHandle=this.m_quadTree.getFirstElement_(this.m_quadsStack.at(-1))}}return this.m_nextElementHandle=this.m_quadTree.getNextElement_(this.m_currentElementHandle),this.m_currentElementHandle}clone(){return p(0),{}}}class dt{m_bucketSort=new ht;m_sortedHandles=new st(0);m_quadTreeIteratorImpl;m_index=-1;constructor(t){this.m_quadTreeIteratorImpl=t}resetIterator(t,e){this.m_quadTreeIteratorImpl.resetIterator(t,e),this.m_sortedHandles.resize(0),this.m_index=-1}next(){if(-1===this.m_index){let t=-1;for(;-1!==(t=this.m_quadTreeIteratorImpl.next());)this.m_sortedHandles.add(t);const e=this,s={userSort(t,s,i){i.sort(t,s,(t,s)=>e.m_quadTreeIteratorImpl.m_quadTree.getElement(t)-e.m_quadTreeIteratorImpl.m_quadTree.getElement(s))},getValue:t=>e.m_quadTreeIteratorImpl.m_quadTree.getElement(t)};this.m_bucketSort.sort(this.m_sortedHandles,0,this.m_sortedHandles.size(),s)}return this.m_index===this.m_sortedHandles.size()-1?-1:(this.m_index++,this.m_sortedHandles.read(this.m_index))}clone(){return p(0),{}}}class ct{constructor(t=!1){this.m_bNotifyOnActions=t}onDelete(t){}onSet(t){}onEndSearch(t){}onAddUniqueElementFailed(t){}m_bNotifyOnActions;onDeleteImpl(t,e){this.m_bNotifyOnActions&&this.onDelete(t.getElement(e))}onSetImpl(t,e){this.m_bNotifyOnActions&&this.onSet(t.getElement(e))}onAddUniqueElementFailedImpl(t){this.m_bNotifyOnActions&&this.onAddUniqueElementFailed(t)}onEndSearchImpl(t){this.m_bNotifyOnActions&&this.onEndSearch(t)}}class pt{static st_nullNode(){return-1}constructor(){}setComparator(t){this.m_comparator=t}getComparator(){return this.m_comparator}disableBalancing(){this.m_bBalancing=!1}enableBalancing(){this.m_bBalancing||(p(this.m_treapCount<=1),this.rebalance(-1),this.m_bBalancing=!0)}isAutoBalancing(){return this.m_bBalancing}rebalance(t){if(this.m_bBalancing)return;if(-1===t&&(t=this.m_defaultTreap),0===this.size(t))return;const e=[];for(let s=this.getFirst(t);-1!==s;s=this.getNext(s))e.push(s),this.setParent_(s,-1),this.setRight_(s,-1),this.setLeft_(s,-1);this.setRoot_(-1,t),this.setFirst_(-1,t),this.setLast_(-1,t),this.setSize_(0,t),this.m_bBalancing=!0;for(const s of e)this.addBiggestElement_(s,t);this.m_bBalancing=!1}setCapacity(t){this.m_treapData.setCapacity(t)}createTreap(t){const e=this.m_treapData.newElement();return this.setSize_(0,e),this.setTreapData_(t,e),this.m_treapCount++,e}deleteTreap(t){this.m_treapData.deleteElement(t),this.m_treapCount--}addElement(t,e=-1){return-1===e&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap),this.addElement_(t,0,e)}addUniqueElement(t,e=-1){return-1===e&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap),this.addElement_(t,1,e)}addBiggestElement(t,e=-1){-1===e&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap);const s=this.newNode_(t);return this.addBiggestElement_(s,e),s}addElementAtPosition(t,e,s,i,n,r=-1){if(-1===r&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),r=this.m_defaultTreap),this.getRoot_(r)===pt.st_nullNode()){const t=this.newNode_(s);return this.setRoot_(t,r),this.addToList_(-1,t,r),t}let o,a,h,m,_;if(n?(o=e!==pt.st_nullNode()?this.m_comparator.compare(this,s,e):-1,a=t!==pt.st_nullNode()?this.m_comparator.compare(this,s,t):1):(o=-1,a=1),i&&(0===o||0===a)){this.m_comparator.onAddUniqueElementFailedImpl(s);const i=0===o?e:t;return this.setDuplicateElement_(i,r),-1}_=e!==pt.st_nullNode()&&t!==pt.st_nullNode()?this.m_random>u(this.m_random)>>1:e!==pt.st_nullNode(),_?(m=o,h=e):(m=a,h=t);let l=-1,d=-1,c=!0;for(;;){if(m<0){const t=this.getLeft(h);if(t===pt.st_nullNode()){d=h,l=this.newNode_(s),this.setLeft_(h,l),this.setParent_(l,h);break}h=t}else{const t=this.getRight(h);if(t===pt.st_nullNode()){d=this.getNext(h),l=this.newNode_(s),this.setRight_(h,l),this.setParent_(l,h);break}h=t}c&&(m*=-1,c=!1)}return this.bubbleUp_(l),this.getParent(l)===pt.st_nullNode()&&this.setRoot_(l,r),this.addToList_(d,l,r),l}replaceElementAtPosition(t,e,s,i,n=-1){if(i){const i=this.getNext(t);let r=-1;i!==pt.st_nullNode()&&(r=this.m_comparator.compare(this,e,i));const o=this.getPrev(t);let a=-1;if(o!==pt.st_nullNode()&&(a=this.m_comparator.compare(this,e,o)),s&&(0===r||0===a)){this.m_comparator.onAddUniqueElementFailedImpl(e);const t=0===r?i:o;return n===pt.st_nullNode()&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),n=this.m_defaultTreap),this.setDuplicateElement_(t,n),-1}}return this.setElement_(t,e),t}getDuplicateElement(t=-1){return-1===t?this.getDuplicateElement_(this.m_defaultTreap):this.getDuplicateElement_(t)}deleteNode(t,e=-1){this.m_comparator&&this.m_comparator.onDeleteImpl(this,t),-1===e&&(e=this.m_defaultTreap),this.m_bBalancing?this.deleteNode_(t,e):this.unbalancedDelete_(t,e)}search(t,e=-1){let s=this.getRoot(e);for(;s!==pt.st_nullNode();){const e=this.m_comparator.compare(this,t,s);if(!e)return s;s=e<0?this.getLeft(s):this.getRight(s)}return this.m_comparator.onEndSearchImpl(t),pt.st_nullNode()}searchLowerBound(t,e=-1){let s=this.getRoot(e),i=-1;for(;s!==pt.st_nullNode();){const e=t.compare(this,s);if(!e)return s;e<0?s=this.getLeft(s):(i=s,s=this.getRight(s))}return i}searchUpperBound(t,e=-1){let s=this.getRoot(e),i=-1;for(;s!==pt.st_nullNode();){const e=t.compare(this,s);if(!e)return s;e<0?(i=s,s=this.getLeft(s)):s=this.getRight(s)}return i}getElement(t){return this.m_treapData.getField(t,3)}getLeft(t){return this.m_treapData.getField(t,0)}getRight(t){return this.m_treapData.getField(t,1)}getParent(t){return this.m_treapData.getField(t,2)}getNext(t){return this.m_treapData.getField(t,6)}getPrev(t){return this.m_treapData.getField(t,5)}getFirst(t=-1){return-1===t?this.getFirst_(this.m_defaultTreap):this.getFirst_(t)}getLast(t=-1){return-1===t?this.getLast_(this.m_defaultTreap):this.getLast_(t)}getTreapData(t=-1){return-1===t?this.getTreapData_(this.m_defaultTreap):this.getTreapData_(t)}setElement(t,e){null!==this.m_comparator&&this.m_comparator.onSetImpl(this,t),this.setElement_(t,e)}getRoot(t=-1){return-1===t?this.getRoot_(this.m_defaultTreap):this.getRoot_(t)}clear(){this.m_treapData.deleteAll(!1),this.m_defaultTreap=pt.st_nullNode(),this.m_treapCount=0,this.m_maxDepthEver=0}addToList_(t,e,s){let i;-1!==t?(i=this.getPrev(t),this.setPrev_(t,e)):i=this.getLast_(s),this.setPrev_(e,i),-1!==i&&this.setNext_(i,e),this.setNext_(e,t),t===this.getFirst_(s)&&this.setFirst_(e,s),-1===t&&this.setLast_(e,s),this.setSize_(this.getSize_(s)+1,s)}size(t=-1){return-1===t?this.getSize_(this.m_defaultTreap):this.getSize_(t)}getMaxDepth(t=-1){return this.getMaxDepthHelper_(this.getRoot(t))}getMaxDepthEver(){return this.m_maxDepthEver}static st_isValidNode(t){return mt.isValidElement(t)}m_defaultTreap=-1;m_random=124234251;m_comparator=null;m_treapData=new mt(7);m_treapCount=0;m_maxDepthEver=0;m_bBalancing=!0;dbgCheck_(t){}getPriority_(t){return this.m_treapData.getField(t,4)}bubbleDown_(t){let e=this.getLeft(t),s=this.getRight(t);const i=this.getPriority_(t);for(;e!==pt.st_nullNode()||s!==pt.st_nullNode();){const n=e!==pt.st_nullNode()?this.getPriority_(e):d(),r=s!==pt.st_nullNode()?this.getPriority_(s):d();if(i<=Math.min(n,r))return;n<=r?this.rotateRight_(e):this.rotateLeft_(t),e=this.getLeft(t),s=this.getRight(t)}}bubbleUp_(t){if(!this.m_bBalancing)return;const e=this.getPriority_(t);let s=this.getParent(t);for(;s!==pt.st_nullNode()&&this.getPriority_(s)>e;)this.getLeft(s)===t?this.rotateRight_(t):this.rotateLeft_(s),s=this.getParent(t)}rotateLeft_(t){const e=t,s=this.getRight(t);let i;this.setParent_(s,this.getParent(e)),this.setParent_(e,s),i=this.getLeft(s),this.setRight_(e,i),i!==pt.st_nullNode()&&this.setParent_(i,e),this.setLeft_(s,e),i=this.getParent(s),i!==pt.st_nullNode()&&(this.getLeft(i)===e?this.setLeft_(i,s):this.setRight_(i,s))}rotateRight_(t){const e=this.getParent(t),s=t;let i;this.setParent_(s,this.getParent(e)),this.setParent_(e,s),i=this.getRight(s),this.setLeft_(e,i),i!==pt.st_nullNode()&&this.setParent_(i,e),this.setRight_(s,e),i=this.getParent(s),i!==pt.st_nullNode()&&(this.getLeft(i)===e?this.setLeft_(i,s):this.setRight_(i,s))}setParent_(t,e){this.m_treapData.setField(t,2,e)}setLeft_(t,e){this.m_treapData.setField(t,0,e)}setRight_(t,e){this.m_treapData.setField(t,1,e)}setPriority_(t,e){this.m_treapData.setField(t,4,e)}setPrev_(t,e){this.m_treapData.setField(t,5,e)}setNext_(t,e){this.m_treapData.setField(t,6,e)}setRoot_(t,e){this.m_treapData.setField(e,0,t)}setFirst_(t,e){this.m_treapData.setField(e,1,t)}setLast_(t,e){this.m_treapData.setField(e,2,t)}setDuplicateElement_(t,e){this.m_treapData.setField(e,3,t)}setSize_(t,e){this.m_treapData.setField(e,4,t)}setTreapData_(t,e){this.m_treapData.setField(e,5,t)}getRoot_(t){return-1===t?pt.st_nullNode():this.m_treapData.getField(t,0)}getFirst_(t){return-1===t?pt.st_nullNode():this.m_treapData.getField(t,1)}getLast_(t){return-1===t?pt.st_nullNode():this.m_treapData.getField(t,2)}getDuplicateElement_(t){return-1===t?pt.st_nullNode():this.m_treapData.getField(t,3)}getSize_(t){return-1===t?0:this.m_treapData.getField(t,4)}getTreapData_(t){return this.m_treapData.getField(t,5)}newNode_(t){const e=this.m_treapData.newElement();return this.setPriority_(e,this.generatePriority_()),this.setElement_(e,t),e}freeNode_(t,e){t!==pt.st_nullNode()&&this.m_treapData.deleteElement(t)}generatePriority_(){return this.m_random=u(this.m_random),this.m_random&d()>>1}maxPriority(){return p(0),0}getMaxDepthHelper_(t){return t===pt.st_nullNode()?0:1+Math.max(this.getMaxDepthHelper_(this.getLeft(t)),this.getMaxDepthHelper_(this.getRight(t)))}addElement_(t,e,s){if(this.getRoot(s)===pt.st_nullNode()){const e=this.newNode_(t);return this.setRoot_(e,s),this.addToList_(-1,e,s),this.m_maxDepthEver=Math.max(this.m_maxDepthEver,1),e}let i=this.getRoot_(s),n=-1,r=-1,o=1;for(;;){const a=-1===e?1:this.m_comparator.compare(this,t,i);if(a<0){const e=this.getLeft(i);if(e===pt.st_nullNode()){r=i,n=this.newNode_(t),this.setLeft_(i,n),this.setParent_(n,i);break}i=e}else{if(1===e&&0===a)return this.m_comparator.onAddUniqueElementFailedImpl(t),this.setDuplicateElement_(i,s),-1;const o=this.getRight(i);if(o===pt.st_nullNode()){r=this.getNext(i),n=this.newNode_(t),this.setRight_(i,n),this.setParent_(n,i);break}i=o}o++}return this.bubbleUp_(n),this.getParent(n)===pt.st_nullNode()&&this.setRoot_(n,s),this.addToList_(r,n,s),this.m_maxDepthEver=Math.max(o,this.m_maxDepthEver),n}removeFromList_(t,e){const s=this.getPrev(t),i=this.getNext(t);-1!==s?this.setNext_(s,i):this.setFirst_(i,e),-1!==i?this.setPrev_(i,s):this.setLast_(s,e),this.setSize_(this.getSize_(e)-1,e)}unbalancedDelete_(t,e){this.removeFromList_(t,e);let s=this.getLeft(t),i=this.getRight(t),n=this.getParent(t),r=t;if(-1!==s&&-1!==i){let o;this.m_random=u(this.m_random),o=this.m_random>d()>>1?this.getNext(t):this.getPrev(t);const a=this.getParent(o)===t;this.m_treapData.swapField(t,o,0),this.m_treapData.swapField(t,o,1),this.m_treapData.swapField(t,o,2),-1!==n?this.getLeft(n)===t?this.setLeft_(n,o):this.setRight_(n,o):this.setRoot_(o,e),a?(s===o?(this.setLeft_(o,t),this.setParent_(i,o)):i===o&&(this.setRight_(o,t),this.setParent_(s,o)),this.setParent_(t,o),n=o):(this.setParent_(s,o),this.setParent_(i,o),n=this.getParent(t),r=o),s=this.getLeft(t),i=this.getRight(t),-1!==s&&this.setParent_(s,t),-1!==i&&this.setParent_(i,t)}const o=-1!==s?s:i;-1===n?this.setRoot_(o,e):this.getLeft(n)===r?this.setLeft_(n,o):this.setRight_(n,o),-1!==o&&this.setParent_(o,n),this.freeNode_(t,e)}deleteNode_(t,e){this.setPriority_(t,d());let s=pt.st_nullNode(),i=pt.st_nullNode();const n=this.getRoot_(e),r=n===t;if(r&&(s=this.getLeft(n),i=this.getRight(n),s===pt.st_nullNode()&&i===pt.st_nullNode()))return this.removeFromList_(n,e),this.freeNode_(n,e),void this.setRoot_(pt.st_nullNode(),e);this.bubbleDown_(t);const o=this.getParent(t);o!==pt.st_nullNode()&&(this.getLeft(o)===t?this.setLeft_(o,pt.st_nullNode()):this.setRight_(o,pt.st_nullNode())),this.removeFromList_(t,e),this.freeNode_(t,e),r&&this.setRoot_(s===pt.st_nullNode()||this.getParent(s)!==pt.st_nullNode()?i:s,e)}setElement_(t,e){this.m_treapData.setField(t,3,e)}addBiggestElement_(t,e){if(this.getRoot_(e)===pt.st_nullNode())return this.setRoot_(t,e),void this.addToList_(-1,t,e);const s=this.getLast_(e);this.setRight_(s,t),this.setParent_(t,s),this.bubbleUp_(t),this.getParent(t)===pt.st_nullNode()&&this.setRoot_(t,e),this.addToList_(-1,t,e)}}class gt{m_listNodes;m_lists;m_listOfLists;m_bStoreListIndexWithNode;constructor(t){this.m_lists=new mt(6),this.m_listOfLists=gt.st_nullNode(),void 0===t?(this.m_listNodes=new mt(3),this.m_bStoreListIndexWithNode=!1):(this.m_listNodes=new mt(t?4:3),this.m_bStoreListIndexWithNode=t)}freeNode_(t){this.m_listNodes.deleteElement(t)}newNode_(){return this.m_listNodes.newElement()}freeList_(t){p(0)}newList_(){return this.m_lists.newElement()}setPrev_(t,e){this.m_listNodes.setField(t,1,e)}setNext_(t,e){this.m_listNodes.setField(t,2,e)}setData_(t,e){p(0)}setList_(t,e){return this.m_listNodes.setField(t,3,e)}setListSize_(t,e){this.m_lists.setField(t,4,e)}setNextList_(t,e){p(0)}setPrevList_(t,e){this.m_lists.setField(t,2,e)}createList(t){const e=this.newList_();return this.m_lists.setField(e,3,this.m_listOfLists),this.m_lists.setField(e,4,0),this.m_lists.setField(e,5,t),this.m_listOfLists!==gt.st_nullNode()&&this.setPrevList_(this.m_listOfLists,e),this.m_listOfLists=e,e}deleteList(t){this.clear(t);const e=this.m_lists.getField(t,2),s=this.m_lists.getField(t,3);return e!==gt.st_nullNode()?this.setNextList_(e,s):this.m_listOfLists=s,s!==gt.st_nullNode()&&this.setPrevList_(s,e),this.freeList_(t),s}reserveLists(t){p(0)}getListData(t){return this.m_lists.getField(t,5)}getList(t){return p(0),0}setListData(t,e){this.m_lists.setField(t,5,e)}addElement(t,e){return this.insertElement(t,-1,e)}insertElement(t,e,s){const i=this.newNode_();let n=-1;e!==gt.st_nullNode()&&(n=this.getPrev(e),this.setPrev_(e,i)),this.setNext_(i,e),n!==gt.st_nullNode()&&this.setNext_(n,i);if(e===this.m_lists.getField(t,0)&&this.m_lists.setField(t,0,i),e===gt.st_nullNode()){const e=this.m_lists.getField(t,1);this.setPrev_(i,e),-1!==e&&this.setNext_(e,i),this.m_lists.setField(t,1,i)}return this.setData(i,s),this.setListSize_(t,this.getListSize(t)+1),this.m_bStoreListIndexWithNode&&this.setList_(i,t),i}deleteElement(t,e){const s=this.getPrev(e),i=this.getNext(e);return s!==gt.st_nullNode()?this.setNext_(s,i):this.m_lists.setField(t,0,i),i!==gt.st_nullNode()?this.setPrev_(i,s):this.m_lists.setField(t,1,s),this.freeNode_(e),this.setListSize_(t,this.getListSize(t)-1),i}reserveNodes(t){this.m_listNodes.setCapacity(t)}getData(t){return this.m_listNodes.getField(t,0)}getElement(t){return this.getData(t)}setData(t,e){this.m_listNodes.setField(t,0,e)}getNext(t){return this.m_listNodes.getField(t,2)}getPrev(t){return this.m_listNodes.getField(t,1)}getFirst(t){return this.m_lists.getField(t,0)}getLast(t){return this.m_lists.getField(t,1)}static st_nullNode(){return-1}clear(t){if(void 0!==t){let e=this.getLast(t);for(;e!==gt.st_nullNode();){const t=e;e=this.getPrev(t),this.freeNode_(t)}return this.m_lists.setField(t,0,-1),this.m_lists.setField(t,1,-1),void this.setListSize_(t,0)}for(let e=this.getFirstList();-1!==e;)e=this.deleteList(e)}isEmpty(t){return p(0),!1}getNodeCount(){return this.m_listNodes.size()}getListCount(){return this.m_lists.size()}getListSize(t){return this.m_lists.getField(t,4)}getFirstList(){return this.m_listOfLists}getNextList(t){return this.m_lists.getField(t,3)}}class ft extends ct{m_intervalTree;constructor(t){super(),this.m_intervalTree=t}compare(t,e,s){const i=t.getElement(s),n=this.m_intervalTree.getValue_(e),r=this.m_intervalTree.getValue_(i);return n<r?-1:n===r?vt.isLeft_(e)&&vt.isRight_(i)?-1:vt.isLeft_(i)&&vt.isRight_(e)?1:0:1}}class vt{m_bEnvelopesRef=!1;m_bOfflineDynamic;m_intervals=[];m_envelopesRef=null;m_tertiaryNodes;m_intervalNodes=new mt(3);m_intervalHandles=[];m_secondaryLists;m_secondaryTreaps;m_endIndicesUnique=[];m_cCount=-1;m_root=-1;m_bSortIntervals=!1;m_bConstructing=!1;m_bConstructionEnded=!1;constructor(t){this.m_bOfflineDynamic=t,this.m_tertiaryNodes=new mt(this.m_bOfflineDynamic?5:4),this.m_secondaryTreaps=new pt,this.m_secondaryTreaps.setComparator(new ft(this)),this.m_secondaryLists=new gt}addEnvelopesRef(t){this.reset_(!0,!0),this.m_bEnvelopesRef=!0,this.m_envelopesRef=t,this.m_bConstructing=!1,this.m_bConstructionEnded=!0,this.m_bOfflineDynamic||(this.insertIntervalsStatic_(),this.m_cCount=this.m_envelopesRef.length)}startConstruction(){this.reset_(!0,!1)}addInterval(t){this.m_bConstructing||E(""),this.m_intervals.push(t.clone())}addIntervalCoords(t,e){p(0)}endConstruction(){this.m_bConstructing||E(""),this.m_bConstructing=!1,this.m_bConstructionEnded=!0,this.m_bOfflineDynamic||(this.insertIntervalsStatic_(),this.m_cCount=this.m_intervals.length)}insert(t){if(this.m_bOfflineDynamic&&this.m_bConstructionEnded||E(""),-1===this.m_root){const t=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length;if(this.m_bSortIntervals){const e=new st(0);this.querySortedEndPointIndices_(e),this.m_endIndicesUnique.length=0,this.querySortedDuplicatesRemoved_(e),this.m_intervalHandles.length=t,this.m_intervalHandles.fill(-1),this.m_bSortIntervals=!1}else this.m_intervalHandles.fill(-1,0,t);this.m_root=this.createRoot_()}const e=this.insertIntervalEnd_(t<<1,this.m_root),s=this.getSecondaryFromInterval_(e),i=this.m_secondaryTreaps.addElement(1+(t<<1),s);this.setRightEnd_(e,i),this.m_intervalHandles[t]=e,this.m_cCount++}remove(t){this.m_bOfflineDynamic&&this.m_bConstructionEnded||E("");const e=this.m_intervalHandles[t];let s;-1===e&&g("the interval does not exist in the interval tree"),this.m_intervalHandles[t]=-1,this.m_cCount--;let i=this.getSecondaryFromInterval_(e),n=-1;n=this.m_secondaryTreaps.getTreapData(i),this.m_secondaryTreaps.deleteNode(this.getLeftEnd_(e),i),this.m_secondaryTreaps.deleteNode(this.getRightEnd_(e),i),s=this.m_secondaryTreaps.size(i),0===s&&(this.m_secondaryTreaps.deleteTreap(i),this.setSecondaryToTertiary_(n,-1)),this.m_intervalNodes.deleteElement(e);let r=this.getPptr_(n),o=this.getLptr_(n),a=this.getRptr_(n);for(;!(s>0||n===this.m_root||-1!==o&&-1!==a);)n===this.getLptr_(r)?-1!==o?(this.setLptr_(r,o),this.setPptr_(o,r),this.setLptr_(n,-1),this.setPptr_(n,-1)):-1!==a?(this.setLptr_(r,a),this.setPptr_(a,r),this.setRptr_(n,-1),this.setPptr_(n,-1)):(this.setLptr_(r,-1),this.setPptr_(n,-1)):-1!==o?(this.setRptr_(r,o),this.setPptr_(o,r),this.setLptr_(n,-1),this.setPptr_(n,-1)):-1!==a?(this.setRptr_(r,a),this.setPptr_(a,r),this.setRptr_(n,-1),this.setPptr_(n,-1)):(this.setRptr_(r,-1),this.setPptr_(n,-1)),this.m_tertiaryNodes.deleteElement(n),n=r,i=this.getSecondaryFromTertiary_(n),s=-1!==i?this.m_secondaryTreaps.size(i):0,o=this.getLptr_(n),a=this.getRptr_(n),r=this.getPptr_(n)}size(){return this.m_cCount}getIteratorQuery(t,e){return t instanceof r?new yt(this,t,e):(p(0),{})}getIterator(){return new yt(this)}querySortedEndPointIndices_(t){const e=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length;for(let s=0;s<2*e;s++)t.add(s);this.sortEndIndices_(t,0,2*e)}querySortedDuplicatesRemoved_(t){let e=Number.NaN;for(let s=0;s<t.size();s++){const i=t.read(s),n=this.getValue_(i);n!==e&&(this.m_endIndicesUnique.push(i),e=n)}}insertIntervalsStatic_(){const t=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length,s=new st(0);this.querySortedEndPointIndices_(s),this.m_endIndicesUnique.length=0,this.querySortedDuplicatesRemoved_(s),this.m_intervalNodes.setCapacity(t),this.m_secondaryLists.reserveNodes(2*t);const i=e(t,-1);this.m_root=this.createRoot_();for(let e=0;e<s.size();e++){const t=s.read(e);let n=i[t>>1];if(-1!==n){const e=this.getSecondaryFromInterval_(n);this.setRightEnd_(n,this.m_secondaryLists.addElement(e,t))}else n=this.insertIntervalEnd_(t,this.m_root),i[t>>1]=n}}createRoot_(){const t=this.calculateDiscriminantIndex1_(0,this.m_endIndicesUnique.length-1);return this.createTertiaryNode_(t)}insertIntervalEnd_(t,e){let s=-1,i=e,n=-1,r=-1,o=0,a=this.m_endIndicesUnique.length-1,h=0;const m=t>>1;let _=Number.NaN,l=Number.NaN,u=!0;const d=this.getMin_(m),c=this.getMax_(m);let p=-1;for(;u;){h=o+(a-o>>1),p=this.calculateDiscriminantIndex1_(o,a);const e=this.getDiscriminantFromIndex1_(p);if(c<e){if(-1!==i)if(p===this.getDiscriminantIndex1_(i))s=i,_=e,i=this.getLptr_(i),l=-1!==i?this.getDiscriminant_(i):Number.NaN;else if(l>e){const t=this.createTertiaryNode_(p);e<_?this.setLptr_(s,t):this.setRptr_(s,t),this.setRptr_(t,i),this.m_bOfflineDynamic&&(this.setPptr_(t,s),this.setPptr_(i,t)),s=t,_=e,i=-1,l=Number.NaN}a=h;continue}if(d>e){if(-1!==i)if(p===this.getDiscriminantIndex1_(i))s=i,_=e,i=this.getRptr_(i),l=-1!==i?this.getDiscriminant_(i):Number.NaN;else if(l<e){const t=this.createTertiaryNode_(p);e<_?this.setLptr_(s,t):this.setRptr_(s,t),this.setLptr_(t,i),this.m_bOfflineDynamic&&(this.setPptr_(t,s),this.setPptr_(i,t)),s=t,_=e,i=-1,l=Number.NaN}o=h+1;continue}let m=-1;m=-1===i||p!==this.getDiscriminantIndex1_(i)?this.createTertiaryNode_(p):i,n=this.getSecondaryFromTertiary_(m),-1===n&&(n=this.createSecondary_(m),this.setSecondaryToTertiary_(m,n));const g=this.addEndIndex_(n,t);r=this.createIntervalNode_(),this.setSecondaryToInterval_(r,n),this.setLeftEnd_(r,g),-1!==i&&p===this.getDiscriminantIndex1_(i)||(e<_?this.setLptr_(s,m):this.setRptr_(s,m),this.m_bOfflineDynamic&&this.setPptr_(m,s),-1!==i&&(l<e?this.setLptr_(m,i):this.setRptr_(m,i),this.m_bOfflineDynamic&&this.setPptr_(i,m))),u=!1;break}return r}createTertiaryNode_(t){const e=this.m_tertiaryNodes.newElement();return this.setDiscriminantIndex1_(e,t),e}createSecondary_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.createTreap(t):this.m_secondaryLists.createList(t)}createIntervalNode_(){return this.m_intervalNodes.newElement()}reset(){this.m_bOfflineDynamic&&this.m_bConstructionEnded||E(""),this.reset_(!1,this.m_bEnvelopesRef)}reset_(t,e){t?(this.m_bEnvelopesRef=!1,this.m_envelopesRef=null,this.m_bSortIntervals=!0,this.m_bConstructing=!0,this.m_bConstructionEnded=!1,this.m_endIndicesUnique.length=0,e?(this.m_intervals.length=0,this.m_bEnvelopesRef=!0):this.m_intervals.length=0):this.m_bSortIntervals=!1,this.m_bOfflineDynamic?this.m_secondaryTreaps.clear():this.m_secondaryLists.clear(),this.m_intervalNodes.deleteAll(!1),this.m_tertiaryNodes.deleteAll(!1),this.m_root=-1,this.m_cCount=0}getDiscriminant_(t){const e=this.getDiscriminantIndex1_(t);return this.getDiscriminantFromIndex1_(e)}getDiscriminantFromIndex1_(t){if(-1===t)return Number.NaN;if(t>0){const e=t-2,s=this.m_endIndicesUnique[e],i=this.m_endIndicesUnique[e+1];return.5*(this.getValue_(s)+this.getValue_(i))}const e=-t-2,s=this.m_endIndicesUnique[e];return this.getValue_(s)}calculateDiscriminantIndex1_(t,e){let s;if(t<e){s=t+(e-t>>1)+2}else s=-(t+2);return s}setDiscriminantIndex1_(t,e){this.m_tertiaryNodes.setField(t,0,e)}setSecondaryToTertiary_(t,e){this.m_tertiaryNodes.setField(t,1,e)}setLptr_(t,e){this.m_tertiaryNodes.setField(t,2,e)}setRptr_(t,e){this.m_tertiaryNodes.setField(t,3,e)}setPptr_(t,e){this.m_tertiaryNodes.setField(t,4,e)}setSecondaryToInterval_(t,e){this.m_intervalNodes.setField(t,0,e)}addEndIndex_(t,e){let s=-1;return s=this.m_bOfflineDynamic?this.m_secondaryTreaps.addElement(e,t):this.m_secondaryLists.addElement(t,e),s}setLeftEnd_(t,e){this.m_intervalNodes.setField(t,1,e)}setRightEnd_(t,e){this.m_intervalNodes.setField(t,2,e)}getFirst_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.getFirst(t):this.m_secondaryLists.getFirst(t)}getLast_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.getLast(t):this.m_secondaryLists.getLast(t)}static isLeft_(t){return!(1&t)}static isRight_(t){return!(1&~t)}getDiscriminantIndex1_(t){return this.m_tertiaryNodes.getField(t,0)}getSecondaryFromTertiary_(t){return this.m_tertiaryNodes.getField(t,1)}getLptr_(t){return this.m_tertiaryNodes.getField(t,2)}getRptr_(t){return this.m_tertiaryNodes.getField(t,3)}getPptr_(t){return this.m_tertiaryNodes.getField(t,4)}getSecondaryFromInterval_(t){return this.m_intervalNodes.getField(t,0)}getLeftEnd_(t){return this.m_intervalNodes.getField(t,1)}getRightEnd_(t){return this.m_intervalNodes.getField(t,2)}getMin_(t){return this.m_bEnvelopesRef?this.m_envelopesRef[t].xmin:this.m_intervals[t].vmin}getMax_(t){return this.m_bEnvelopesRef?this.m_envelopesRef[t].xmax:this.m_intervals[t].vmax}sortEndIndices_(t,e,s){const i=this,n={userSort(t,e,s){i.sortEndIndicesHelper_(s,t,e)},getValue:t=>i.getValue_(t)};(new ht).sort(t,e,s,n)}sortEndIndicesHelper_(t,e,s){t.sort(e,s,(t,e)=>{const s=this.getValue_(t),i=this.getValue_(e);return s<i||s===i&&vt.isLeft_(t)&&vt.isRight_(e)?-1:1})}getValue_(t){if(!this.m_bEnvelopesRef){const e=this.m_intervals[t>>1];return vt.isLeft_(t)?e.vmin:e.vmax}const e=this.m_envelopesRef[t>>1];return vt.isLeft_(t)?e.xmin:e.xmax}}class yt{m_intervalTree;m_query=r.constructEmpty();m_tertiaryHandle=-1;m_nextTertiaryHandle=-1;m_forkedHandle=-1;m_currentEndHandle=-1;m_nextEndHandle=-1;m_tertiaryStack=[];m_functionIndex=0;m_functionStack;m_fi;constructor(t,e,s){this.m_intervalTree=t,this.m_functionStack=new Array(2),this.m_functionStack[0]=this.nullFunc_,this.m_functionStack[1]=this.nullFunc_,void 0!==e&&this.resetIterator(e,s)}nullFunc_(){return b("should not be called"),!1}resetIterator(t,e){if("number"==typeof t){const s=new r;s.setCoords(t,t),this.resetIterator(s,e)}else void 0===e&&(e=0),this.m_query.vmin=t.vmin-e,this.m_query.vmax=t.vmax+e,this.m_tertiaryStack.length=0,this.m_functionIndex=0,this.m_functionStack[0]=this.initialize_}next(){if(this.m_intervalTree.m_bConstructionEnded||E(""),this.m_functionIndex<0)return-1;for(;this.m_fi=this.m_functionStack[this.m_functionIndex],this.m_fi(););return-1!==this.m_currentEndHandle?this.getCurrentEndIndex_()>>1:-1}initialize_(){return this.m_tertiaryHandle=-1,this.m_nextTertiaryHandle=-1,this.m_forkedHandle=-1,this.m_currentEndHandle=-1,this.m_intervalTree.m_tertiaryNodes.size()>0?(this.m_functionStack[0]=this.pIn_,this.m_nextTertiaryHandle=this.m_intervalTree.m_root,!0):(this.m_functionIndex=-1,!1)}pIn_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionIndex=-1,this.m_currentEndHandle=-1,!1;const t=this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle);if(this.m_query.vmax<t){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.left_),!0}if(t<this.m_query.vmin){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getLast_(t),this.m_functionStack[++this.m_functionIndex]=this.right_),!0}this.m_functionStack[this.m_functionIndex]=this.pL_,this.m_forkedHandle=this.m_tertiaryHandle;const e=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==e&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(e),this.m_functionStack[++this.m_functionIndex]=this.all_),!0}pL_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionStack[this.m_functionIndex]=this.pR_,this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_forkedHandle),!0;if(this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle)<this.m_query.vmin){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getLast_(t),this.m_functionStack[++this.m_functionIndex]=this.right_),!0}const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.all_);const e=this.m_intervalTree.getRptr_(this.m_tertiaryHandle);return-1!==e&&this.m_tertiaryStack.push(e),!0}pR_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionStack[this.m_functionIndex]=this.pT_,!0;const t=this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle);if(this.m_query.vmax<t){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.left_),!0}const e=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==e&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(e),this.m_functionStack[++this.m_functionIndex]=this.all_);const s=this.m_intervalTree.getLptr_(this.m_tertiaryHandle);return-1!==s&&this.m_tertiaryStack.push(s),!0}pT_(){if(0===this.m_tertiaryStack.length)return this.m_functionIndex=-1,this.m_currentEndHandle=-1,!1;this.m_tertiaryHandle=this.m_tertiaryStack.at(-1),this.m_tertiaryStack.pop();const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.all_),-1!==this.m_intervalTree.getLptr_(this.m_tertiaryHandle)&&this.m_tertiaryStack.push(this.m_intervalTree.getLptr_(this.m_tertiaryHandle)),-1!==this.m_intervalTree.getRptr_(this.m_tertiaryHandle)&&this.m_tertiaryStack.push(this.m_intervalTree.getRptr_(this.m_tertiaryHandle)),!0}left_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&vt.isLeft_(this.getCurrentEndIndex_())&&this.m_intervalTree.getValue_(this.getCurrentEndIndex_())<=this.m_query.vmax?(this.m_nextEndHandle=this.getNext_(),!1):(this.m_functionIndex--,!0)}right_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&vt.isRight_(this.getCurrentEndIndex_())&&this.m_intervalTree.getValue_(this.getCurrentEndIndex_())>=this.m_query.vmin?(this.m_nextEndHandle=this.getPrev_(),!1):(this.m_functionIndex--,!0)}all_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&vt.isLeft_(this.getCurrentEndIndex_())?(this.m_nextEndHandle=this.getNext_(),!1):(this.m_functionIndex--,!0)}getNext_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getNext(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getNext(this.m_currentEndHandle)}getPrev_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getPrev(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getPrev(this.m_currentEndHandle)}getCurrentEndIndex_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getElement(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getData(this.m_currentEndHandle)}}class xt{m_tolerance=0;m_sweepIndexRed=-1;m_sweepIndexBlue=-1;m_envelopeHandleA=-1;m_envelopeHandleB=-1;m_intervalTreeRed=null;m_intervalTreeBlue=null;m_iteratorRed=null;m_iteratorBlue=null;m_envelopesRed=[];m_envelopesBlue=[];m_elementsRed=[];m_elementsBlue=[];m_sortedEndIndicesRed=new st(0);m_sortedEndIndicesBlue=new st(0);m_queuedListRed=-1;m_queuedListBlue=-1;m_queuedEnvelopes=new gt;m_queuedIndicesRed=[];m_queuedIndicesBlue=[];m_bAddRed=!1;m_bAddBlue=!1;m_bAddRedRed=!1;m_bDone=!0;m_function;constructor(){this.m_function=this.nullFunc_,this.reset_()}startConstruction(){this.reset_(),this.m_bAddRedRed=!0,this.m_elementsRed.length=0,this.m_envelopesRed.length=0}addEnvelope(t,e){this.m_bAddRedRed||E(""),this.m_elementsRed.push(t),this.m_envelopesRed.push(new I(e))}endConstruction(){this.m_bAddRedRed||E(""),this.m_bAddRedRed=!1,this.m_envelopesRed.length>0&&(this.m_function=this.initialize_,this.m_bDone=!1)}startRedConstruction(){this.reset_(),this.m_bAddRed=!0,this.m_elementsRed.length=0,this.m_envelopesRed.length=0}addRedEnvelope(t,e){this.m_bAddRed||E(""),this.m_elementsRed.push(t),this.m_envelopesRed.push(e.clone())}endRedConstruction(){this.m_bAddRed||E(""),this.m_bAddRed=!1,this.m_envelopesRed.length>0&&this.m_envelopesBlue.length>0&&(this.m_function===this.nullFunc_||this.m_function===this.initializeBlue_?this.m_function=this.initializeRedBlue_:this.m_function!==this.initializeRedBlue_&&(this.m_function=this.initializeRed_),this.m_bDone=!1)}startBlueConstruction(){this.reset_(),this.m_bAddBlue=!0,this.m_elementsBlue.length=0,this.m_envelopesBlue.length=0}addBlueEnvelope(t,e){this.m_bAddBlue||E(""),this.m_elementsBlue.push(t),this.m_envelopesBlue.push(e.clone())}endBlueConstruction(){this.m_bAddBlue||E(""),this.m_bAddBlue=!1,this.m_envelopesRed.length>0&&this.m_envelopesBlue.length>0&&(this.m_function===this.nullFunc_||this.m_function===this.initializeRed_?this.m_function=this.initializeRedBlue_:this.m_function!==this.initializeRedBlue_&&(this.m_function=this.initializeBlue_),this.m_bDone=!1)}next(){if(this.m_bDone)return!1;for(;this.m_function(););return!this.m_bDone}getHandleA(){return this.m_envelopeHandleA}getHandleB(){return this.m_envelopeHandleB}setTolerance(t){this.m_tolerance=t}getElement(t){return this.m_elementsRed[t]}getRedEnvelope(t){return this.m_envelopesRed[t]}getBlueEnvelope(t){return this.m_envelopesBlue[t]}getRedElement(t){return this.m_elementsRed[t]}getBlueElement(t){return this.m_elementsBlue[t]}isTop_(t){return!(1&~t)}isBottom_(t){return!(1&t)}reset_(){this.m_bAddRed=!1,this.m_bAddBlue=!1,this.m_bAddRedRed=!1,this.m_sweepIndexRed=-1,this.m_sweepIndexBlue=-1,this.m_queuedListRed=-1,this.m_queuedListBlue=-1,this.m_bDone=!0}initialize_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new vt(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),this.m_sortedEndIndicesRed.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,2*this.m_envelopesRed.length,!0),this.m_sweepIndexRed=2*this.m_envelopesRed.length,this.m_function=this.sweep_,!0}initializeRed_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new vt(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),this.m_sortedEndIndicesRed.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,this.m_sortedEndIndicesRed.size(),!0),this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),this.m_function=this.sweepRedBlue_,this.resetBlue_()}initializeBlue_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeBlue||(this.m_intervalTreeBlue=new vt(!0)),this.m_intervalTreeBlue.addEnvelopesRef(this.m_envelopesBlue),null==this.m_iteratorBlue&&(this.m_iteratorBlue=this.m_intervalTreeBlue.getIterator()),this.m_sortedEndIndicesBlue.resize(0);for(let t=0;t<2*this.m_envelopesBlue.length;t++)this.m_sortedEndIndicesBlue.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesBlue,0,this.m_sortedEndIndicesBlue.size(),!1),this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_function=this.sweepRedBlue_,this.resetRed_()}initializeRedBlue_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new vt(!0)),this.m_intervalTreeBlue||(this.m_intervalTreeBlue=new vt(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),this.m_intervalTreeBlue.addEnvelopesRef(this.m_envelopesBlue),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),null===this.m_iteratorBlue&&(this.m_iteratorBlue=this.m_intervalTreeBlue.getIterator()),this.m_sortedEndIndicesRed.resize(0),this.m_sortedEndIndicesBlue.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);for(let t=0;t<2*this.m_envelopesBlue.length;t++)this.m_sortedEndIndicesBlue.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,this.m_sortedEndIndicesRed.size(),!0),this.sortYEndIndices_(this.m_sortedEndIndicesBlue,0,this.m_sortedEndIndicesBlue.size(),!1),this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_function=this.sweepRedBlue_,!0}sweep_(){const t=this.m_sortedEndIndicesRed.read(--this.m_sweepIndexRed),e=t>>1;if(this.isBottom_(t))return this.m_intervalTreeRed.remove(e),0!==this.m_sweepIndexRed||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);const s=r.construct(this.m_envelopesRed[e].xmin,this.m_envelopesRed[e].xmax);return this.m_iteratorRed.resetIterator(s,this.m_tolerance),this.m_envelopeHandleA=e,this.m_function=this.iterate_,!0}sweepBruteForce_(){return-1===--this.m_sweepIndexRed?(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1):(this.m_envelopeHandleA=this.m_sweepIndexRed,this.m_sweepIndexBlue=this.m_sweepIndexRed,this.m_function=this.iterateBruteForce_,!0)}sweepRedBlueBruteForce_(){return-1===--this.m_sweepIndexRed?(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1):(this.m_envelopeHandleA=this.m_sweepIndexRed,this.m_sweepIndexBlue=this.m_envelopesBlue.length,this.m_function=this.iterateRedBlueBruteForce_,!0)}sweepRedBlue_(){const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed-1),e=this.m_sortedEndIndicesBlue.read(this.m_sweepIndexBlue-1),s=this.getAdjustedValue_(t,!0),i=this.getAdjustedValue_(e,!1);return s>i?this.sweepRed_():s<i?this.sweepBlue_():this.isTop_(t)?this.sweepRed_():this.isTop_(e)?this.sweepBlue_():this.sweepRed_()}sweepRed_(){const t=this.m_sortedEndIndicesRed.read(--this.m_sweepIndexRed),e=t>>1;if(this.isBottom_(t))return-1!==this.m_queuedListRed&&-1!==this.m_queuedIndicesRed[e]?(this.m_queuedEnvelopes.deleteElement(this.m_queuedListRed,this.m_queuedIndicesRed[e]),this.m_queuedIndicesRed[e]=-1):this.m_intervalTreeRed.remove(e),0!==this.m_sweepIndexRed||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);if(-1!==this.m_queuedListBlue&&this.m_queuedEnvelopes.getListSize(this.m_queuedListBlue)>0){let t=this.m_queuedEnvelopes.getFirst(this.m_queuedListBlue);for(;-1!==t;){const e=this.m_queuedEnvelopes.getData(t);this.m_intervalTreeBlue.insert(e),this.m_queuedIndicesBlue[e]=-1;const s=this.m_queuedEnvelopes.getNext(t);this.m_queuedEnvelopes.deleteElement(this.m_queuedListBlue,t),t=s}}if(this.m_intervalTreeBlue.size()>0){const t=r.construct(this.m_envelopesRed[e].xmin,this.m_envelopesRed[e].xmax);this.m_iteratorBlue.resetIterator(t,this.m_tolerance),this.m_envelopeHandleA=e,this.m_function=this.iterateBlue_}else-1===this.m_queuedListRed&&(c(this.m_queuedIndicesRed,this.m_envelopesRed.length,-1),this.m_queuedListRed=this.m_queuedEnvelopes.createList(1)),this.m_queuedIndicesRed[e]=this.m_queuedEnvelopes.addElement(this.m_queuedListRed,e),this.m_function=this.sweepRedBlue_;return!0}sweepBlue_(){const t=this.m_sortedEndIndicesBlue.read(--this.m_sweepIndexBlue),e=t>>1;if(this.isBottom_(t))return-1!==this.m_queuedListBlue&&-1!==this.m_queuedIndicesBlue[e]?(this.m_queuedEnvelopes.deleteElement(this.m_queuedListBlue,this.m_queuedIndicesBlue[e]),this.m_queuedIndicesBlue[e]=-1):this.m_intervalTreeBlue.remove(e),0!==this.m_sweepIndexBlue||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);if(-1!==this.m_queuedListRed&&this.m_queuedEnvelopes.getListSize(this.m_queuedListRed)>0){let t=this.m_queuedEnvelopes.getFirst(this.m_queuedListRed);for(;-1!==t;){const e=this.m_queuedEnvelopes.getData(t);this.m_intervalTreeRed.insert(e),this.m_queuedIndicesRed[e]=-1;const s=this.m_queuedEnvelopes.getNext(t);this.m_queuedEnvelopes.deleteElement(this.m_queuedListRed,t),t=s}}if(this.m_intervalTreeRed.size()>0){const t=r.construct(this.m_envelopesBlue[e].xmin,this.m_envelopesBlue[e].xmax);this.m_iteratorRed.resetIterator(t,this.m_tolerance),this.m_envelopeHandleB=e,this.m_function=this.iterateRed_}else-1===this.m_queuedListBlue&&(c(this.m_queuedIndicesBlue,this.m_envelopesBlue.length,-1),this.m_queuedListBlue=this.m_queuedEnvelopes.createList(0)),this.m_queuedIndicesBlue[e]=this.m_queuedEnvelopes.addElement(this.m_queuedListBlue,e),this.m_function=this.sweepRedBlue_;return!0}iterate_(){if(this.m_envelopeHandleB=this.m_iteratorRed.next(),-1!==this.m_envelopeHandleB)return!1;const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed)>>1;return this.m_intervalTreeRed.insert(t),this.m_function=this.sweep_,!0}iterateRed_(){if(this.m_envelopeHandleA=this.m_iteratorRed.next(),-1!==this.m_envelopeHandleA)return!1;this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1;const t=this.m_sortedEndIndicesBlue.read(this.m_sweepIndexBlue)>>1;return this.m_intervalTreeBlue.insert(t),this.m_function=this.sweepRedBlue_,!0}iterateBlue_(){if(this.m_envelopeHandleB=this.m_iteratorBlue.next(),-1!==this.m_envelopeHandleB)return!1;const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed)>>1;return this.m_intervalTreeRed.insert(t),this.m_function=this.sweepRedBlue_,!0}iterateBruteForce_(){if(-1===--this.m_sweepIndexBlue)return this.m_function=this.sweepBruteForce_,!0;const t=this.m_envelopesRed[this.m_sweepIndexRed].clone(),e=this.m_envelopesRed[this.m_sweepIndexBlue];return t.inflateCoords(this.m_tolerance,this.m_tolerance),!t.isIntersecting(e)||(this.m_envelopeHandleB=this.m_sweepIndexBlue,!1)}iterateRedBlueBruteForce_(){if(-1===--this.m_sweepIndexBlue)return this.m_function=this.sweepRedBlueBruteForce_,!0;const t=this.m_envelopesRed[this.m_sweepIndexRed].clone(),e=this.m_envelopesBlue[this.m_sweepIndexBlue];return t.inflateCoords(this.m_tolerance,this.m_tolerance),!t.isIntersecting(e)||(this.m_envelopeHandleB=this.m_sweepIndexBlue,!1)}resetRed_(){return this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),this.m_intervalTreeRed.size()>0&&this.m_intervalTreeRed.reset(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),this.m_bDone=!1,!0}resetBlue_(){return this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),this.m_intervalTreeBlue.size()>0&&this.m_intervalTreeBlue.reset(),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_bDone=!1,!0}nullFunc_(){return b("should not be called"),!1}sortYEndIndices_(t,e,s,i){const n=this,r={userSort(t,e,s){n.sortYEndIndicesHelper_(s,t,e,i)},getValue:t=>n.getAdjustedValue_(t,i)};(new ht).sort(t,e,s,r)}sortYEndIndicesHelper_(t,e,s,i){t.sort(e,s,(t,e)=>{const s=this.getAdjustedValue_(t,i),n=this.getAdjustedValue_(e,i);return s<n||s===n&&this.isBottom_(t)&&this.isTop_(e)?-1:1})}getAdjustedValue_(t,e){const s=.5*this.m_tolerance;if(e){const e=this.m_envelopesRed[t>>1];return this.isBottom_(t)?e.ymin-s:e.ymax+s}const i=this.m_envelopesBlue[t>>1];return this.isBottom_(t)?i.ymin-s:i.ymax+s}}var bt=z;class Et{tolerance;resolution;constructor(t,e){this.tolerance=void 0!==t?t:Number.NaN,this.resolution=void 0!==e?e:Number.NaN}add(t){return new Et(this.tolerance+t,this.resolution)}scale(t){return new Et(this.tolerance*t,this.resolution*t)}total(){return this.tolerance+this.resolution}}function Nt(t,e,i,n,r){const o=n*n,a=t.sub(e),h=i.sub(e),m=a.sqrLength(),_=h.sqrLength();if(m<=o||_<=o)return!0;const l=s(a.crossProduct(h));if(l<=o*m||l<=o*_){return a.dotProduct(h)>=0}return!1}function Dt(t,e,s){return i=>0===s?(i+t)*e:1*(i-t*e)/e}function It(t,e){const s=new I;return t.queryLooseEnvelope(s),s.mergeEnvelope2D(e),s}function Ct(t,e){const s=I.constructEmpty();t.queryLooseEnvelope(s);const i=I.constructEmpty();return e.queryLooseEnvelope(i),s.mergeEnvelope2D(i),s}function Tt(t,e){return(Number.isFinite(t)||Number.isNaN(t))&&(Number.isFinite(e)||Number.isNaN(e))}function Rt(t,e){return Number.isFinite(t)&&Number.isFinite(e)}function At(t,e,s){const i=I.constructEmpty();i.setFromPoints(t,e);return Ft(0,null,i.calculateToleranceFromEnvelope(),s,!1)}function qt(t,e,s){return Ft(0,t,e.calculateToleranceFromEnvelope(),s,!1)}function wt(t,e,s){return Ft(1,t,e.calculateToleranceFromEnvelope(),s,!1)}function Bt(t,e,s){return wt(t,e.queryInterval(1,0),s)}function zt(t,e,s){const i=I.constructEmpty();return e.queryEnvelope(i),qt(t,i,s)}function Lt(t,e,s=!1){return Ft(0,t,e.calculateToleranceFromEnvelope(),s,!0).total()}function St(t,e,s){const i=I.constructEmpty();return e.queryEnvelope(i),Lt(t,i,s)}function Ft(t,e,s,i,n){const r=new Et(0,0);if(null!==e&&(r.tolerance=e.getTolerance(t),(!n||i)&&null!==e)){const s=e.getResolution(t);r.resolution=s,i&&(r.resolution*=2)}i&&(s*=4,r.tolerance*=1.01,r.resolution*=1.01);return r.total()<s?new Et(s,0):r}function Pt(t){return Math.sqrt(2)*(2*t.tolerance+t.resolution)}function Ht(t){return Math.sqrt(2)*(t.tolerance+t.resolution)}function Vt(t){return t>=3}function kt(t,e){const s=[0];return t.getImpl().getIsSimple(e,s)>=3}function Mt(t,e){t.getImpl().setIsSimple(3,e)}function Ot(t,e,n,r){if(s(e.x-t.x)+s(e.y-t.y)<=n*n){const s=t.z,n=e.z;return i(s,n,r)}return!1}function Yt(t){return t>=4}function Xt(t,e){return t===v.enumPolygon?Vt(e):e>=1}function Gt(t,e,s){const i=I.constructEmpty(),n=I.constructEmpty();t.queryLooseEnvelope(i),e.queryLooseEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=I.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const o=t.querySegmentIterator(),a=e.querySegmentIterator(),h=I.constructEmpty(),m=I.constructEmpty(),_=new xt;_.setTolerance(s);let l=!1;for(_.startRedConstruction();o.nextPath();)for(;o.hasNextSegment();){o.nextSegment().queryLooseEnvelope(h),h.isIntersecting(r)&&(l=!0,_.addRedEnvelope(o.getStartPointIndex(),h))}if(_.endRedConstruction(),!l)return null;let u=!1;for(_.startBlueConstruction();a.nextPath();)for(;a.hasNextSegment();){a.nextSegment().queryLooseEnvelope(m),m.isIntersecting(r)&&(u=!0,_.addBlueEnvelope(a.getStartPointIndex(),m))}return _.endBlueConstruction(),u?_:null}function Ut(t,e,s,i,n){t.getGeometryType(),e.getGeometryType();const r=I.constructEmpty(),o=I.constructEmpty();t.queryLooseEnvelope(r),e.queryLooseEnvelope(o),r.inflateCoords(s,s),o.inflateCoords(s,s);const a=I.constructEmpty();a.setCoords({env2D:r}),a.intersect(o);const h=new xt;h.setTolerance(s);let m=!1;h.startRedConstruction();for(let l=0,u=t.getPathCount();l<u;l++)t.queryLoosePathEnvelope(l,r),r.isIntersecting(a)&&(m=!0,h.addRedEnvelope(l,r));if(h.endRedConstruction(),!m)return null;let _=!1;h.startBlueConstruction();for(let l=0,u=e.getPathCount();l<u;l++)e.queryLoosePathEnvelope(l,o),o.isIntersecting(a)&&(_=!0,h.addBlueEnvelope(l,o));return h.endBlueConstruction(),_?h:null}function Zt(t,e,s){const i=I.constructEmpty(),n=I.constructEmpty();t.queryLooseEnvelope(i),e.queryEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=I.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const o=t.querySegmentIterator(),a=new xt;a.setTolerance(s);let h=!1;for(a.startRedConstruction();o.nextPath();)for(;o.hasNextSegment();){o.nextSegment().queryLooseEnvelope(i),i.isIntersecting(r)&&(h=!0,a.addRedEnvelope(o.getStartPointIndex(),i))}if(a.endRedConstruction(),!h)return null;let m=!1;a.startBlueConstruction();for(let _=0,l=e.getPointCount();_<l;_++){const t=e.getXY(_);r.contains(t)&&(m=!0,a.addBlueEnvelope(_,I.construct(t.x,t.y,t.x,t.y)))}return a.endBlueConstruction(),m?a:null}function Qt(t,e,s){const i=I.constructEmpty(),n=I.constructEmpty();t.queryEnvelope(i),e.queryEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=I.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const o=new xt;o.setTolerance(s);let h=!1;o.startRedConstruction();const m=new a;for(let a=0,u=t.getPointCount();a<u;a++)t.queryXY(a,m),r.contains(m)&&(h=!0,o.addRedEnvelope(a,I.construct(m.x,m.y,m.x,m.y)));if(o.endRedConstruction(),!h)return null;let _=!1;o.startBlueConstruction();const l=new a;for(let a=0,u=e.getPointCount();a<u;a++)e.queryXY(a,l),r.contains(l)&&(_=!0,o.addBlueEnvelope(a,I.construct(l.x,l.y,l.x,l.y)));return o.endBlueConstruction(),_?o:null}function jt(t){const e=new I;return t.queryLooseEnvelope(e),e.inflateCoords(1,1),Wt(t,e)}function Wt(t,e,s){const i=new I;if(t.queryLooseEnvelope(i),i.isEmpty())return null;t.getGeometryType();const n=new lt(i,8);let r=-1;const o=new I;let a=!1;do{for(let s=0,h=t.getPathCount();s<h;s++)if(t.queryLoosePathEnvelope(s,o),o.isIntersecting(e)){if(r=n.insertEx(s,o,r),-1===r){a&&b("build_quad_tree_for_paths"),i.assign(t.calculateEnvelope2D(!1)),a=!0,n.reset(i,8);break}a=!1}}while(a);return n}function Jt(t,e){if(!e){const e=new I;t.queryLooseEnvelope(e);const s=new lt(e,8);let i=-1;const n=new I,r=t.querySegmentIterator();let o=!1;for(;r.nextPath();)for(;r.hasNextSegment();){const a=r.nextSegment(),h=r.getStartPointIndex();if(a.queryLooseEnvelope(n),i=s.insertEx(h,n,i),-1===i){o&&b(""),e.assign(t.calculateEnvelope2D(!1)),o=!0,s.reset(e,8),r.resetToFirstPath();break}}return s}const s=new I;t.queryLooseEnvelope(s);const i=new lt(s,8);let n=-1;const r=new I,o=t.querySegmentIterator();let a=!1;for(;o.nextPath();)for(;o.hasNextSegment();){const h=o.nextSegment(),m=o.getStartPointIndex();if(h.queryLooseEnvelope(r),r.isIntersecting(e)&&(n=i.insertEx(m,r,n),-1===n)){a&&b(""),s.assign(t.calculateEnvelope2D(!1)),a=!0,i.reset(s,8),o.resetToFirstPath();break}}return i}function Kt(t,e){if(e){const s=new lt(e,8),i=new a,n=new I;let r=!1;for(let o=0;o<t.getPointCount();o++){if(i.setCoordsPoint2D(t.getXY(o)),!e.contains(i))continue;n.setCoords({pt:i});-1!==s.insert(o,n)||(r&&b(""),r=!0,s.reset(t.calculateEnvelope2D(),8),o=-1)}return s}return y("no-extent version not yet impl"),null}function $t(t,e,s,i,n){let r=!1;const o=n.vmin,a=n.vmax;for(let h=s;h<e;h+=i){const e=t.read(h);e<o?(r=!0,t.write(h,o)):e>a&&(r=!0,t.write(h,a))}return r}function te(t,e,s,i){if(!t.hasAttribute(s))return!1;const n=t.getGeometryType();if(n===v.enumGeometryCollection){const n=t,r=n.getGeometryCount();let o=0;for(let t=0;t<r;++t){o|=te(n.getGeometry(t),e,s,i)?1:0}return!!o}if(N(n)){const n=t,r=bt.getPersistence(s),o=bt.getComponentCount(s),a=n.getPointCount();if(1===r){const t=$t(n.getAttributeStreamRef(s),a*o,i,o,e);return t&&n.notifyModified(),t}if(2===r){const t=$t(n.getAttributeStreamRef(s),a*o,i,o,e);return t&&n.notifyModified(),t}b("snap_coordinate not implemented")}if(n===v.enumEnvelope){const n=t,r=n.queryInterval(s,i);let o=!1;return r.vmin<e.vmin&&(o=!0,r.vmin=e.vmin),r.vmax>e.vmax&&(o=!0,r.vmax=e.vmax),o&&n.setIntervalEnvelope(s,i,r),o}if(n===v.enumPoint){const n=t;let r=n.getAttributeAsDbl(s,i),o=!1;return r<e.vmin&&(o=!0,r=e.vmin),r>e.vmax&&(o=!0,r=e.vmax),o&&n.setAttributeBasic(s,i,r),o}if(D(n)){const n=t;let r=n.getStartAttributeAsDbl(s,i),o=!1;return r<e.vmin&&(o=!0,r=e.vmin),r>e.vmax&&(o=!0,r=e.vmax),o&&n.setStartAttribute(s,i,r),r=n.getEndAttributeAsDbl(s,i),r<e.vmin&&(o=!0,r=e.vmin),r>e.vmax&&(o=!0,r=e.vmax),o&&n.setEndAttribute(s,i,r),o}b("snap_coordinate not implemented")}var ee=z;class se{static type=v.enumPoint;m_description=null;x=Number.NaN;y=Number.NaN;m_attribs=null;constructor(t){if(t){if(!t.copy)return t.move?(this.m_description=t.move.m_description,t.move.m_description=null,this.m_attribs=t.move.m_attribs,t.move.m_attribs=null,this.x=t.move.x,void(this.y=t.move.y)):t.vd?(this.m_description=t.vd,void(t.attribBuffer?(this.m_attribs=t.attribBuffer,t.initDefaultValues&&this.setDefaultAttributeValues()):this.ensureAttributes())):t.pt?(this.m_description=M(),void this.setXY(t.pt)):void("x"in t&&("z"in t?(this.m_description=O(),this.ensureAttributes(),this.setXYZ(new X(t.x,t.y,t.z))):(this.m_description=M(),this.setXYCoords(t.x,t.y))));t.copy.copyTo(this)}else this.m_description=M()}assignCopy(t){return this.m_attribs=null,t.copyTo(this),this}assignMove(t){return this.m_attribs=null,t.copyTo(this),t.setEmpty(),this}getXY(){return new a(this.x,this.y)}queryXY(t){t.x=this.x,t.y=this.y}setXY(t){this.x=t.x,this.y=t.y}setXYCoords(t,e){this.x=t,this.y=e}getXYZ(){const t=new X;return t.x=this.x,t.y=this.y,t.z=this.getZ(),t}setXYZ(t){this.addAttribute(1),this.x=t.x,this.y=t.y,this.m_attribs[0]=t.z}getX(){return this.x}setX(t){this.x=t}getY(){return this.y}setY(t){this.y=t}getZ(){return this.m_description.hasZ()?this.m_attribs[0]:ee.getDefaultValue(1)}setZ(t){this.addAttribute(1),this.m_attribs[0]=t}getM(){return this.getAttributeAsDbl(2,0)}setM(t){this.addAttribute(2),this.m_description.hasZ()?this.m_attribs[1]=t:this.m_attribs[0]=t}getID(){return this.getAttributeAsInt(3,0)}setID(t){this.setAttributeBasic(3,0,t)}isEqualXY(t,e){return void 0===e&&(e=0),Math.abs(t.x-this.x)<=e&&Math.abs(t.y-this.y)<=e}isEqualXYCoords(t,e,s){return void 0===s&&(s=0),Math.abs(t-this.x)<=s&&Math.abs(e-this.y)<=s}getAttributeAsDbl(t,e){if(0===t){if(0===e)return this.x;if(1===e)return this.y;f("")}const s=ee.getComponentCount(t);(e<0||e>=s)&&f("");const i=this.m_description.getAttributeIndex(t);return i>=0?this.m_attribs[this.m_description.getPointAttributeOffset(i)-2+e]:ee.getDefaultValue(t)}getAttributeAsInt(t,e){return Math.trunc(this.getAttributeAsDbl(t,e))}setAttributeBasic(t,e,s){if(0===t)return void(0===e?this.x=s:1===e?this.y=s:f(""));const i=ee.getComponentCount(t);(e<0||e>=i)&&f("");let n=this.m_description.getAttributeIndex(t);n<0&&(this.addAttribute(t),n=this.m_description.getAttributeIndex(t)),this.m_attribs[this.m_description.getPointAttributeOffset(n)-2+e]=s}copyAttributesFrom(t,e){if(this===t)return;const s=t.getDescription();for(let i=e&&s.hasZ()?2:1,n=s.getAttributeCount();i<n;++i){const e=s.getSemantics(i),n=ee.getComponentCount(e);for(let s=0;s<n;++s){const i=t.getAttributeAsDbl(e,s);this.setAttributeBasic(e,s,i)}}}getAttributeArray(){return this.m_attribs}getDescription(){return this.m_description}assignVertexDescription(t){this.m_description!==t&&this.assignVertexDescriptionImpl(t)}mergeVertexDescription(t){this.m_description!==t&&(this.m_description.hasAttributesFrom(t)||this.mergeVertexDescriptionImpl(t))}hasAttribute(t){return this.m_description.hasAttribute(t)}addAttribute(t){if(this.m_description.hasAttribute(t))return;const e=V(this.m_description,t);this.assignVertexDescription(e)}dropAttribute(t){if(!this.m_description.hasAttribute(t))return;const e=k(this.m_description,t);this.assignVertexDescription(e)}dropAllAttributes(){const t=M();t!==this.m_description&&this.assignVertexDescription(t)}getGeometryType(){return v.enumPoint}getDimension(){return 0}queryEnvelope(t){if(t instanceof oe)return t.setEmpty(),t.assignVertexDescription(this.m_description),void t.merge(this);if(t instanceof G){if(this.isEmpty())return void t.setEmpty();const e=this.getXYZ();return t.xmin=e.x,t.ymin=e.y,t.zmin=e.z,t.xmax=e.x,t.ymax=e.y,void(t.zmax=e.z)}this.isEmpty()?t.setEmpty():(t.xmin=this.x,t.ymin=this.y,t.xmax=this.x,t.ymax=this.y)}queryLooseEnvelope(t){this.queryEnvelope(t)}queryInterval(t,e){const s=new r;if(this.isEmpty())return s.setEmpty(),s;const i=this.getAttributeAsDbl(t,e);return s.vmin=i,s.vmax=i,s}applyTransformation(t){if(!this.isEmpty()){if(1===t.m_TransformationType){const e=this.getXY();return t.transformInPlace(e),void this.setXY(e)}y("3d not impl")}}transformAttribute(t,e,s,i,n){if(this.isEmpty())return;this.addAttribute(t);const r=this.getAttributeAsDbl(t,e),o=Dt(s,i,n);this.setAttributeBasic(t,e,o(r))}createInstance(){return new se({vd:this.m_description})}copyTo(t){if(this===t)return;t.getGeometryType()!==v.enumPoint&&g();const e=t;e.x=this.x,e.y=this.y,this.m_attribs?(e.assignVertexDescription(this.m_description),e.m_attribs=this.m_attribs.slice()):(e.releaseAttributes(),e.assignVertexDescription(this.m_description))}isEmpty(){return Number.isNaN(this.x)||Number.isNaN(this.y)}setEmpty(){this.m_description||(this.m_description=M(),this.releaseAttributes()),this.x=Number.NaN,this.y=Number.NaN,this.m_attribs&&m(this.m_attribs,this.m_description.getDefaultPointAttributes(),0,2,this.m_description.getTotalComponentCount()-2)}calculateArea2D(){return 0}calculateLength2D(){return 0}calculateLength3D(t){return 0}equals(t,e){if(t===this)return!0;if(t.getGeometryType()!==v.enumPoint)return!1;const s=t;if(this.m_description!==s.m_description)return!1;if(this.isEmpty()!==s.isEmpty())return!1;if(this.isEmpty())return!0;if(void 0===e&&(e=0),Math.abs(this.x-s.x)>e)return!1;if(Math.abs(this.y-s.y)>e)return!1;for(let n=0,r=this.m_description.getTotalComponentCount()-2;n<r;n++)if(!i(this.m_attribs[n],s.m_attribs[n],e))return!1;return!0}getBoundary(){return null}clone(){const t=new se({vd:this.m_description});return this.copyTo(t),t}swap(t){if(this===t)return;t.getGeometryType()!==v.enumPoint&&g("wrong geometry type");const e=t;e.m_description=o(this.m_description,this.m_description=e.m_description),e.x=o(this.x,this.x=e.x),e.y=o(this.y,this.y=e.y),e.m_attribs=o(this.m_attribs,this.m_attribs=e.m_attribs)}replaceNaNs(t,e){if(this.addAttribute(t),this.isEmpty())return;const s=ee.getComponentCount(t);for(let i=0;i<s;i++){const s=this.getAttributeAsDbl(t,i);Number.isNaN(s)&&this.setAttributeBasic(t,i,e)}}lerp(t,e,s){if(t.getDescription()!==e.getDescription()&&g("Point.lerp"),this.assignVertexDescription(t.getDescription()),t.isEmpty()||e.isEmpty())return this.setEmpty(),this;this.ensureAttributes();const i=B();t.queryValues(i,i.length);const n=B();e.queryValues(n,n.length);const r=B();let o=i,a=n;const h=r;let m=0;for(let l=0,u=this.m_description.getAttributeCount();l<u;l++){const t=this.m_description.getSemantics(l),e=ee.getInterpolation(t),i=ee.getComponentCount(t),n=ee.getDefaultValue(t);_(e,o,a,h,m,i,s,n),o=o.slice(i),a=a.slice(i),m+=i}return this.setValues(r,m),this}static lerp(t,e,s,i){i.lerp(t,e,s)}setDefaultAttributeValues(){const t=this.m_description.getTotalComponentCount()-2;t>0&&(this.m_attribs?m(this.m_attribs,this.m_description.getDefaultPointAttributes(),0,2,t):this.m_attribs=this.m_description.getDefaultPointAttributes().slice(2))}static sqrDistance2D(t,e){return a.sqrDistanceCoords(t.x,t.y,e.x,e.y)}getImpl(){return this}mergeVertexDescriptionImpl(t){const e=H(this.getDescription(),t);this.assignVertexDescription(e)}releaseAttributes(){this.m_attribs=null}assignVertexDescriptionImpl(t){this.m_description||(this.m_description=M());const e=S();Y(t,this.m_description,e);let s=null;t.getTotalComponentCount()-2>0&&(s=t.getDefaultPointAttributes().slice(2));for(let i=1,n=t.getAttributeCount();i<n;i++){const n=e[i];if(-1!==n){const e=this.m_description.getPointAttributeOffset(n)-2,r=t.getPointAttributeOffset(i)-2,o=ee.getComponentCount(t.getSemantics(i));for(let t=0;t<o;t++)s[r+t]=this.m_attribs[e+t]}}this.m_attribs=s,this.m_description=t}ensureAttributes(){this.m_description.getTotalComponentCount()-2>0&&null===this.m_attribs&&(this.m_attribs=this.m_description.getDefaultPointAttributes().slice(2))}queryValues(t,e){const s=this.m_description.getTotalComponentCount();p(s<=e),t[0]=this.x,t[1]=this.y,m(t,this.m_attribs,2,0,s-2)}copyCommonAttributesTo(t){t.x=this.x,t.y=this.y;const e=t.getDescription();if(e===this.m_description)this.m_attribs&&m(t.m_attribs,this.m_attribs,0,0,this.m_description.getTotalComponentCount()-2);else{let s=0;for(let i=1,n=e.getAttributeCount();i<n;i++){const n=e.getSemantics(i);let r=ee.getComponentCount(n);if(this.m_description.hasAttribute(n)){let e=this.m_description.getPointAttributeOffset(this.m_description.getAttributeIndex(n))-2;for(;0!==r;)t.m_attribs[s++]=this.m_attribs[e++],r--}else{const e=ee.getDefaultValue(n);for(;0!==r;)t.m_attribs[s++]=e,r--}}}}setValues(t,e){const s=this.m_description.getTotalComponentCount();p(s<=e),this.x=t[0],this.y=t[1],m(this.m_attribs,t,0,2,s-2)}dbgDefaultAttribs(){}toFlatGeometry(){const t=Float64Array.of(this.getX(),this.getY(),this.getZ(),this.getM());return{type:"point",vertexCount:1,vertexXY:t.subarray(0,2),vertexZ:this.hasAttribute(1)?t.subarray(2,3):void 0,vertexM:this.hasAttribute(2)?t.subarray(3,4):void 0,...at}}}var ie=z;function ne(t,e){return e*(t.getTotalComponentCount()-2)}class re{m_envelope2D;m_attributes;constructor(t){if(this.m_attributes=null,t)if(void 0!==t.xmin)this.m_envelope2D=new I(t.xmin,t.ymin,t.xmax,t.ymax);else if(void 0!==t.env2D)this.m_envelope2D=new I(t.env2D);else if(t.move)this.m_envelope2D=new I(t.move.m_envelope2D),this.m_attributes=t.move.m_attributes,t.move.m_attributes=null;else{if(!t.moveEnv)throw new Error("unrecognized EnvelopeData constructor options");{const e=t.moveEnv.accessEnvelopeData();this.m_envelope2D=new I(e.m_envelope2D),this.m_attributes=e.m_attributes,e.m_attributes=null}}else this.m_envelope2D=I.constructEmpty()}ensureAttributes(t){const s=t.getTotalComponentCount()-2;!this.m_attributes&&s&&(this.m_attributes=e(2*s,Number.NaN),this.m_attributes.fill(Number.NaN))}copyTo(t,s){const i=s,n=t.getTotalComponentCount()-2;if(i.m_description!==t&&(i.releaseAttributes_(),i.m_description=t,n&&(i.m_data.m_attributes=e(2*n,Number.NaN))),n){p(this.m_attributes&&i.m_data.m_attributes);const t=2*n;m(i.m_data.m_attributes,this.m_attributes,0,0,t)}i.m_data.m_envelope2D=new I(this.m_envelope2D)}copyToIfNotNull(t,e){e.m_envelope2D=new I(this.m_envelope2D),e.releaseAttributes();t.getTotalComponentCount()-2&&this.m_attributes&&(e.m_attributes=this.m_attributes.slice())}releaseAttributes(){this.m_attributes=null}isEmpty(){return this.m_envelope2D.isEmpty()}transformAttribute(t,e,s,i,n){p(0)}queryInterval(t,e,s,i){if(this.isEmpty())return void i.setEmpty();if(0===e)return void(0===s?this.m_envelope2D.queryIntervalX(i):1===s?this.m_envelope2D.queryIntervalY(i):f(""));const n=ie.getComponentCount(e);(s<0||s>=n)&&f("");const r=t.getAttributeIndex(e);if(r>=0)return i.vmin=this.m_attributes[ne(t,0)+t.getPointAttributeOffset(r)-2+s],void(i.vmax=this.m_attributes[ne(t,1)+t.getPointAttributeOffset(r)-2+s]);{const t=ie.getDefaultValue(e);return void i.setCoords(t,t)}}queryEnvelope3D(t,e){const s=new r;this.queryInterval(t,1,0,s),e.setCoords(this.m_envelope2D.xmin,this.m_envelope2D.ymin,s.vmin,this.m_envelope2D.xmax,this.m_envelope2D.ymax,s.vmax)}setEmpty(t){this.m_envelope2D.setEmpty();const s=t.getTotalComponentCount()-2;s&&(this.m_attributes?this.dbgAssertSize(s):this.m_attributes=e(2*s,Number.NaN),this.m_attributes.fill(Number.NaN))}dbgAssertSize(t){}}let oe=class t{static type=v.enumEnvelope;m_EnvelopeType=4;m_description;m_data;constructor(t){if(this.m_description=M(),void 0===t)this.m_data=new re;else if(void 0!==t.vd)this.m_description=t.vd,this.m_data=new re,this.ensureAttributes_();else if(t?.env2D)this.m_data=new re({env2D:t.env2D});else if(void 0!==t.xmin)this.m_data=new re({xmin:t.xmin,ymin:t.ymin,xmax:t.xmax,ymax:t.ymax});else if(t.copy)this.m_data=new re,t.copy.copyTo(this);else if(t.move)this.m_description=t.move.m_description,t.move.m_description=null,this.m_data=new re({move:t.move.m_data});else{if(!t.centerPoint)throw new Error("unrecognized Envelope constructor options");this.m_description=t.centerPoint.getDescription(),this.m_data=new re,this.ensureAttributes_(),this.setFromPoint(t.centerPoint,t.width,t.height)}}accessEnvelopeData(){return this.m_description=null,this.m_data}assignMove(t){return this===t||(this.m_description=t.m_description,t.m_description=null,this.m_data=new re({move:t.m_data})),this}assignCopy(t){return this===t||t.copyTo(this),this}transformAttribute(t,e,s,i,n){p(0)}setAttributeBasic(t,e,s){if(this.addAttribute(t),this.m_data.isEmpty())return;const i=this.queryInterval(t,e);i.vmin=s,i.vmax=s,this.setIntervalEnvelope(t,e,i)}mergeVertexDescriptionImpl(t){const e=H(this.getDescription(),t);this.assignVertexDescription(e)}asEnvelope2D(){return new I(this.m_data.m_envelope2D)}assignVertexDescription(t){this.m_description!==t&&this.assignVertexDescriptionImpl(t)}getGeometryType(){return v.enumEnvelope}getDimension(){return 2}getXMin(){return this.m_data.m_envelope2D.xmin}getYMin(){return this.m_data.m_envelope2D.ymin}getXMax(){return this.m_data.m_envelope2D.xmax}getYMax(){return this.m_data.m_envelope2D.ymax}width(){return this.m_data.isEmpty()?Number.NaN:this.m_data.m_envelope2D.width()}height(){return this.m_data.isEmpty()?Number.NaN:this.m_data.m_envelope2D.height()}getCenterXY(){return this.m_data.isEmpty()?new a:this.m_data.m_envelope2D.getCenter()}getCenter(t){if(t.assignVertexDescription(this.m_description),this.m_data.isEmpty())return void t.setEmpty();const e=this.m_description.getAttributeCount();for(let s=1;s<e;s++){const e=this.m_description.getSemantics(s),i=ie.getComponentCount(e);for(let s=0;s<i;s++){const i=.5*(this.getAttributeAsDblImpl(0,e,s)+this.getAttributeAsDblImpl(1,e,s));t.setAttributeBasic(e,s,i)}}t.setXY(this.m_data.m_envelope2D.getCenter())}setCoords(t,e,s,i){this.m_data.m_envelope2D.setCoords({xmin:t,ymin:e,xmax:s,ymax:i})}setEnvelope(t){if(t instanceof I)this.m_data.m_envelope2D=new I(t),this.m_data.m_envelope2D.normalize();else{this.addAttribute(1),this.m_data.m_envelope2D=t.getEnvelope2D(),this.m_data.m_envelope2D.normalize();const e=r.constructEmpty();e.setCoords(t.zmin,t.zmax),this.setInterval(1,0,e.vmin,e.vmax)}}merge(e){if(e instanceof I)return e.isValid()||g(""),void this.m_data.m_envelope2D.mergeEnvelope2D(e);if(e instanceof t){if(e.m_data.isEmpty())return;const t=e.getDescription();this.mergeVertexDescription(t),this.m_data.m_envelope2D.mergeEnvelope2D(e.m_data.m_envelope2D);for(let s=1,i=t.getAttributeCount();s<i;s++){const i=t.getSemantics(s),n=ie.getComponentCount(i);for(let t=0;t<n;t++){const s=e.queryInterval(i,t),n=this.queryInterval(i,t);n.merge(s),this.setIntervalEnvelope(i,t,n)}}return}if(e instanceof se){const t=e;if(t.isEmpty())return;const s=t.getDescription();if(this.mergeVertexDescription(s),this.m_data.isEmpty())return void this.setFromPoint(t);this.m_data.m_envelope2D.merge(t.getXY());for(let e=1,i=s.getAttributeCount();e<i;e++){const i=s.getSemantics(e),n=ie.getComponentCount(i);for(let e=0;e<n;e++){const s=t.getAttributeAsDbl(i,e),n=this.queryInterval(i,e);n.mergeCoordinate(s),this.setIntervalEnvelope(i,e,n)}}return}y("unrecognized type for envelope.merge")}intersect(t){if(!this.m_data.m_envelope2D.intersect(t.m_data.m_envelope2D))return this.setEmpty(),!1;const e=t.getDescription();this.mergeVertexDescription(e);for(let s=1,i=this.m_description.getAttributeCount();s<i;s++){const e=this.m_description.getSemantics(s),i=ie.getComponentCount(e);for(let s=0;s<i;s++){const i=t.queryInterval(e,s),n=this.queryInterval(e,s);n.intersect(i),this.setIntervalEnvelope(e,s,n)}}return!0}intersectCommonAttributes(t){if(!this.m_data.m_envelope2D.intersect(t.m_data.m_envelope2D))return this.setEmpty(),!1;const e=t.getDescription();for(let s=1,i=this.m_description.getAttributeCount();s<i;s++){const i=this.m_description.getSemantics(s);if(!e.hasAttribute(i))continue;const n=ie.getComponentCount(i);for(let e=0;e<n;e++){const s=t.queryInterval(i,e),n=this.queryInterval(i,e);n.intersect(s),this.setIntervalEnvelope(i,e,n)}}return!0}move(t,e){this.m_data.m_envelope2D.move(t,e)}centerAt(t,e){this.m_data.m_envelope2D.centerAtCoords(t,e)}centerAtPoint(t){this.m_data.m_envelope2D.centerAt(t)}reaspect(t,e){this.m_data.m_envelope2D.reaspect(t,e)}inflateCoords(t,e){this.m_data.m_envelope2D.inflateCoords(t,e)}containsCoords(t,e){return this.m_data.m_envelope2D.containsCoords(t,e)}contains(t){return this.m_data.m_envelope2D.contains(t)}containsPoint(t){return!t.isEmpty()&&this.m_data.m_envelope2D.contains(t.getXY())}containsEnvelope(t){return this.m_data.m_envelope2D.containsEnvelope(t.m_data.m_envelope2D)}setIntervalEnvelope(t,e,s){if(this.addAttribute(t),this.m_data.isEmpty())return;const i=new r(s);if(i.normalize(),0===t){if(i.isEmpty())return void this.setEmpty();0===e?(this.m_data.m_envelope2D.xmin=i.vmin,this.m_data.m_envelope2D.xmax=i.vmax):1===e?(this.m_data.m_envelope2D.ymin=i.vmin,this.m_data.m_envelope2D.ymax=i.vmax):f("")}else this.setAttributeAsDblImpl(0,t,e,i.vmin),this.setAttributeAsDblImpl(1,t,e,i.vmax)}setInterval(t,e,s,i){this.setIntervalEnvelope(t,e,new r(s,i))}queryInterval(t,e){const s=new r;return this.m_data.queryInterval(this.m_description,t,e,s),s}queryEnvelope(t){2!==t.m_EnvelopeType?3!==t.m_EnvelopeType?4!==t.m_EnvelopeType?y("unrecognized type for queryEnveloper"):this.copyTo(t):this.m_data.queryEnvelope3D(this.m_description,t):t.setCoords({env2D:this.m_data.m_envelope2D})}applyTransformation(t){1!==t.m_TransformationType?p(0):t.transformEnvInPlace(this.m_data.m_envelope2D)}createInstance(){return new t({vd:this.m_description})}copyTo(t){t!==this&&this.m_data.copyTo(this.m_description,t)}isEmpty(){return this.m_data.isEmpty()}setEmpty(){this.m_description||(this.m_description=M()),this.m_data.setEmpty(this.m_description)}calculateArea2D(){return this.m_data.m_envelope2D.getArea()}calculateLength2D(){return this.m_data.m_envelope2D.getLength()}calculateLength3D(t){return p(0),0}equals(t,e){if(t===this)return!0;const s=t;if(this.m_description!==s.m_description)return!1;if(this.m_data.isEmpty()!==s.m_data.isEmpty())return!1;if(this.m_data.isEmpty())return!0;if(void 0===e&&(e=0),Math.abs(this.m_data.m_envelope2D.xmin-s.m_data.m_envelope2D.xmin)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.ymin-s.m_data.m_envelope2D.ymin)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.xmax-s.m_data.m_envelope2D.xmax)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.ymax-s.m_data.m_envelope2D.ymax)>e)return!1;for(let n=0,r=2*(this.m_description.getTotalComponentCount()-2);n<r;n++)if(!i(this.m_data.m_attributes[n],s.m_data.m_attributes[n],e))return!1;return!0}getBoundary(){return y("getBoundary not available in this context. Use the boundary operator with an envelope parameter"),null}clone(){return new t({copy:this})}swap(t){if(this===t)return;t.getGeometryType()!==v.enumEnvelope&&g("wrong geometry type");const e=t;e.m_description=o(this.m_description,this.m_description=e.m_description),e.m_data.m_envelope2D=o(this.m_data.m_envelope2D,this.m_data.m_envelope2D=e.m_data.m_envelope2D),e.m_data.m_attributes=o(this.m_data.m_attributes,this.m_data.m_attributes=e.m_data.m_attributes)}queryCoordinates(t){this.m_data.isEmpty()&&g(""),this.m_data.m_envelope2D.queryCorners(t)}queryCornerByVal(t,e){(t<0||t>3)&&f(""),e.assignVertexDescription(this.m_description);const s=this.getDescription().getAttributeCount();for(let i=1;i<s;i++){const s=this.m_description.getSemantics(i),n=ie.getComponentCount(s);for(let i=0;i<n;i++)e.setAttributeBasic(s,i,this.getAttributeAsDblImpl(t%2,s,i))}e.setXY(this.m_data.m_envelope2D.queryCorner(t))}queryCorner(t,e){e.assign(this.m_data.m_envelope2D.queryCorner(t))}getDescription(){return this.m_description}mergeVertexDescription(t){this.m_description!==t&&(this.m_description&&this.m_description.hasAttributesFrom(t)||this.mergeVertexDescriptionImpl(t))}hasAttribute(t){return this.m_description.hasAttribute(t)}addAttribute(t){if(this.m_description.hasAttribute(t))return;const e=V(this.m_description,t);this.assignVertexDescription(e)}dropAttribute(t){if(!this.m_description.hasAttribute(t))return;const e=k(this.m_description,t);this.assignVertexDescription(e)}dropAllAttributes(){const t=M();t!==this.m_description&&this.assignVertexDescription(t)}queryLooseEnvelope(t){this.queryEnvelope(t)}replaceNaNs(t,e){if(this.addAttribute(t),this.m_data.isEmpty())return;const s=ie.getComponentCount(t);for(let i=0;i<s;i++){const s=this.queryInterval(t,i);s.isEmpty()&&(s.vmin=e,s.vmax=e,this.setIntervalEnvelope(t,i,s))}}getImpl(){return this}setFromPoint(t,e,s){this.m_data.m_envelope2D.setCoords({center:t.getXY(),width:e??0,height:s??0});const i=t.getDescription();for(let n=1,r=i.getAttributeCount();n<r;n++){const e=i.getSemantics(n),s=ie.getComponentCount(e);for(let i=0;i<s;i++){const s=t.getAttributeAsDbl(e,i);this.setInterval(e,i,s,s)}}}assignVertexDescriptionImpl(t){const s=S();Y(t,this.m_description,s);let i=null;const n=t.getTotalComponentCount()-2,r=this.m_description?this.m_description.getTotalComponentCount()-2:0;n>0&&(i=e(2*n,Number.NaN));for(let e=1;e<t.getAttributeCount();e++){const o=s[e];if(-1!==o){const s=t.getPointAttributeOffset(e)-2,a=ie.getComponentCount(t.getSemantics(e)),h=this.m_description.getPointAttributeOffset(o)-2;m(i,this.m_data.m_attributes,s,h,a),m(i,this.m_data.m_attributes,n+s,r+h,a)}}this.releaseAttributes_(),this.m_data.m_attributes=i,this.m_description=t}getAttributeAsDblImpl(t,e,s){if(this.m_data.isEmpty()&&x(""),0===e)return t?s?this.m_data.m_envelope2D.ymax:this.m_data.m_envelope2D.xmax:s?this.m_data.m_envelope2D.ymin:this.m_data.m_envelope2D.xmin;s>=ie.getComponentCount(e)&&f("");const i=this.m_description.getAttributeIndex(e);return i>=0?this.m_data.m_attributes[ne(this.m_description,t)+this.m_description.getPointAttributeOffset(i)-2+s]:z.getDefaultValue(e)}setAttributeAsDblImpl(t,e,s,i){0===e&&(t?1===s?this.m_data.m_envelope2D.ymax=i:0===s?this.m_data.m_envelope2D.xmax=i:f(""):1===s?this.m_data.m_envelope2D.ymin=i:0===s?this.m_data.m_envelope2D.xmin=i:f(""));const n=ie.getComponentCount(e);(s<0||s>=n)&&f(""),this.addAttribute(e);const r=this.m_description.getAttributeIndex(e);this.m_data.m_attributes[ne(this.m_description,t)+this.m_description.getPointAttributeOffset(r)-2+s]=i}releaseAttributes_(){this.m_data.releaseAttributes()}ensureAttributes_(){this.m_data.ensureAttributes(this.m_description)}};const ae=Object.freeze(Object.defineProperty({__proto__:null,Envelope:oe,EnvelopeData:re},Symbol.toStringTag,{value:"Module"}));export{O as $,nt as A,ht as B,Et as C,xt as D,oe as E,Nt as F,te as G,U as H,gt as I,ct as J,M as K,re as L,H as M,V as N,k as O,se as P,B as Q,w as R,mt as S,pt as T,S as U,z as V,Y as W,j as X,W as Y,Dt as Z,at as _,st as a,J as a0,K as a1,$ as a2,jt as a3,At as a4,Tt as a5,Rt as a6,Q as a7,ae as a8,et as b,qt as c,Lt as d,zt as e,Pt as f,Ct as g,It as h,Yt as i,kt as j,X as k,St as l,Xt as m,Ht as n,Bt as o,Ot as p,Vt as q,G as r,Mt as s,wt as t,Jt as u,Kt as v,Gt as w,Zt as x,Qt as y,Ut as z};
|
|
2
|
+
import{G as t,d as e,a as s,a8 as i,y as n,E as r,c as o,P as a,i as h,b as m,a4 as _,m as l,Q as u,j as d,x as c}from"./Point2D.js";import{g as p,a as g,r as f,G as v,t as y,C as x,d as b,q as E,i as N,h as D}from"./Geometry.js";import{Envelope2D as I}from"./Envelope2D.js";const C=[0,0,Number.NaN,0,0,0,0,0,-1,-1,0,0,0,0],T=[2,1,1,1,3,1,2,3,2,4,1,1,2,1],R=[1,1,1,0,2,1,1,1,0,0,0,0,0,1],A=[1,1,1,2,0,0,0,0,2,2,4,2,2,1],q=[4,8,4,8,1],w=25;function B(){return e(w,Number.NaN)}let z=class s{getAttributeCount(){return this.m_attributeCount}getSemantics(t){return this.m_indexToSemantics[t]}getSemanticsBitArray(){return this.m_semanticsBitArray}getAttributeIndex(t){return this.m_semanticsToIndexMap[t]}static getInterpolation(t){return R[t]}static getPersistence(t){return A[t]}static getPersistenceSize(t){return q[t]}static getPersistenceSizeFromSemantics(t){return s.getPersistenceSize(s.getPersistence(t))*s.getComponentCount(t)}static getComponentCount(t){return T[t]}static maxComponentCount(){return 4}static isInteger(t){return 2===t||3===t||4===t}static isIntegerSemantics(t){return s.isInteger(s.getPersistence(t))}static isTexture(t){return 5===t||6===t||7===t}hasAttribute(t){return!!(this.m_semanticsBitArray&1<<t)}hasAttributesFrom(t){return(this.m_semanticsBitArray&t.m_semanticsBitArray)===t.m_semanticsBitArray}hasZ(){return this.hasAttribute(1)}hasM(){return this.hasAttribute(2)}hasID(){return this.hasAttribute(3)}getTotalComponentCount(){return this.m_totalComponentCount}static getDefaultValue(t){return C[t]}static isDefaultValue(e,s){return t(C[e],s)}equals(t){return this===t}getDefaultPointAttributes(){return this.m_defaultPointAttributes}getPointAttributeOffset(t){return this.m_pointAttributeOffsets[t]}constructor(t){this.m_semanticsBitArray=t,this.m_attributeCount=0,this.m_totalComponentCount=0,this.m_semanticsToIndexMap=new Int32Array(14),this.m_indexToSemantics=new Int32Array(14),this.m_pointAttributeOffsets=new Int32Array(14),this.m_defaultPointAttributes=e(w,Number.NaN),this.m_semanticsToIndexMap.fill(-1),this.m_indexToSemantics.fill(-1);let i=0,n=1,r=14;for(;i<r;i++)t&n&&(this.m_semanticsToIndexMap[i]=this.m_attributeCount,this.m_indexToSemantics[this.m_attributeCount]=i,this.m_attributeCount++,this.m_totalComponentCount+=s.getComponentCount(i)),n<<=1;let o=0;for(i=0,r=this.getAttributeCount();i<r;i++){const t=this.getSemantics(i),e=s.getComponentCount(t),n=s.getDefaultValue(t);this.m_pointAttributeOffsets[i]=o;for(let s=0;s<e;s++)this.m_defaultPointAttributes[o]=n,o++}}m_semanticsBitArray;m_attributeCount;m_totalComponentCount;m_semanticsToIndexMap;m_indexToSemantics;m_pointAttributeOffsets;m_defaultPointAttributes};var L=z;function S(){return e(14,0)}class F{m_map;m_vd2D;m_vd3D;static s_thisInstance;static{F.s_thisInstance=new F}static getInstance(){return F.s_thisInstance}constructor(){this.m_map=new Map,this.m_vd2D=new L(1),this.m_map.set(1,this.m_vd2D),this.m_vd3D=new L(3),this.m_map.set(3,this.m_vd2D)}GetVD2D(){return this.m_vd2D}GetVD3D(){return this.m_vd3D}FindOrAdd(t){if(1===t)return this.GetVD2D();if(3===t)return this.GetVD3D();const e=this.m_map.get(t);if(e)return e;const s=new L(t);return this.m_map.set(t,s),s}}function P(t){return F.getInstance().FindOrAdd(t)}function H(t,e){if(!t||!e)return e||t;const s=t.getSemanticsBitArray()|e.getSemanticsBitArray();return(s&t.getSemanticsBitArray())===s?t:(s&e.getSemanticsBitArray())===s?e:P(s)}function V(t,e){const s=t.getSemanticsBitArray()|1<<e;return(s&t.getSemanticsBitArray())===s?t:P(s)}function k(t,e){const s=(t.getSemanticsBitArray()|1<<e)-(1<<e);return s===t.getSemanticsBitArray()?t:P(s)}function M(){return F.getInstance().GetVD2D()}function O(){return F.getInstance().GetVD3D()}function Y(t,e,s){if(s.fill(-1),null!==t&&null!==e)for(let i=0,n=t.getAttributeCount();i<n;i++)s[i]=e.getAttributeIndex(t.getSemantics(i))}class X{x;y;z;static construct(t,e,s){return new X(t,e,s)}constructor(t,e,s){void 0!==t?(this.x=t,this.y=e,this.z=s):this.x=this.y=this.z=Number.NaN}get 0(){return this.x}get 1(){return this.y}get 2(){return this.z}set 0(t){this.x=t}set 1(t){this.y=t}set 2(t){this.z=t}clone(){return new X(this.x,this.y,this.z)}assign(t){return this.x=t.x,this.y=t.y,this.z=t.z,this}setCoords(t,e,s){return this.x=t,this.y=e,this.z=s,this}setCoordsPoint2DZ(t,e){return this.setCoords(t.x,t.y,e)}setCoordsPoint3D(t){this.x=t.x,this.y=t.y,this.z=t.z}setZero(){this.x=0,this.y=0,this.z=0}setNormalized(t){this.assign(t),this.normalizeThis()}normalizeThis(){const t=this.length();return t?(this.x/=t,this.y/=t,this.z/=t):(this.x=1,this.y=0,this.z=0),this}getUnitVector(){const t=new X;return t.setNormalized(this),t}sqrLength(){return this.x*this.x+this.y*this.y+this.z*this.z}length(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)}lengthXY(){return p(0),0}static sqrDistance(t,e){return s(t.x-e.x)+s(t.y-e.y)+s(t.z-e.z)}static sqrDistanceCoords(t,e,i,n,r,o){return s(t-n)+s(e-r)+s(i-o)}static distance(t,e){return Math.sqrt(X.sqrDistance(t,e))}isEqual(t,e){return void 0===e&&(e=0),Math.abs(this.x-t.x)<=e&&Math.abs(this.y-t.y)<=e&&i(this.z,t.z,e)}static compareByLength(t,e,s,i){return p(0),0}isEqualCoords(t,e,s,i){return p(0),this.x===t&&this.y===e&&this.z===s}isEqualsTols(t,e,s){return p(0),!1}isEqualCoordsTols(t,e,s,i,n){return p(0),!1}static st_isEqual(t,e,s,i){return p(0),!1}equals(t,e){return this.isEqual(t,e)}equalsTols(t,e,s){return p(0),!1}divThis(t){return this.x/=t,this.y/=t,this.z/=t,this}subThis(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this}setSub(t,e){return this.x=t.x-e.x,this.y=t.y-e.y,this.z=t.z-e.z,this}sub(t){return X.construct(this.x-t.x,this.y-t.y,this.z-t.z)}addThis(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this}add(t){return this.clone().addThis(t)}setAdd(t,e){return this.x=t.x+e.x,this.y=t.y+e.y,this.z=t.z+e.z,this}mul(t){return X.construct(this.x*t,this.y*t,this.z*t)}dotProduct(t){return this.x*t.x+this.y*t.y+this.z*t.z}crossProductVector(t){const e=this.y*t.z-t.y*this.z,s=t.x*this.z-this.x*t.z,i=this.x*t.y-t.x*this.y;return new X(e,s,i)}setCrossProductVector(t,e){const s=t.y*e.z-e.y*t.z,i=e.x*t.z-t.x*e.z,n=t.x*e.y-e.x*t.y;return this.x=s,this.y=i,this.z=n,this}setScaled(t,e){return this.x=t*e.x,this.y=t*e.y,this.z=t*e.z,this}scaleThis(t){return this.x*=t,this.y*=t,this.z*=t,this}scaleZThis(t){return this.z*=t,this}setNAN(){return p(0),this}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)||Number.isNaN(this.z)}static getNAN(){return X.construct(Number.NaN,Number.NaN,Number.NaN)}isFinite(){return p(0),!1}isZero(){return 0===this.x&&0===this.y&&0===this.z}norm(t){return p(0),0}sqrDistanceFromCenterToSpheroidSurface(t,e){return p(0),0}distanceFromCenterToSpheroidSurface(t,e){return Math.sqrt(this.sqrDistanceFromCenterToSpheroidSurface(t,e))}static getClosestCoordinate(t,e,s,i=!1){return p(0),0}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:this.z<t.z?-1:this.z>t.z?1:0}compareXYZ(t){return p(0),0}negateThis(){this.x=-this.x,this.y=-this.y,this.z=-this.z}static averageFast(t,e){return p(0),{}}static average(t,e){return p(0),{}}static dimensions=3;static size(){return X.dimensions}static lerp(t,e,s){const i=new X;return n(t,e,s,i),i}static slerp(t,e,s){return p(0),{}}static compareVectors(t,e){return p(0),0}static selectRightHandedBasisFromNormal(t,e,s){const i=t.getUnitVector(),n=i.createAPerpendicular(),r=new X;r.setCrossProductVector(i,n),r.normalizeThis(),e.setCoordsPoint3D(n),s.setCoordsPoint3D(r)}createAPerpendicular(){const t=[this.crossProductVector(new X(0,0,1)),this.crossProductVector(new X(1,0,0)),this.crossProductVector(new X(0,1,0))],e=[t[0].sqrLength(),t[1].sqrLength(),t[2].sqrLength()],s=t[e.reduce((t,s,i)=>e[t]>e[i]?t:i,0)];return s.normalizeThis(),s}calculateAngle(t){return p(0),0}static crossDotSign(t,e,s){return p(0),0}static isBisectorRobust(t,e,s){return p(0),0}static compareZOrder(t,e){return p(0),!1}}class G{m_EnvelopeType=3;xmin;ymin;zmin;xmax;ymax;zmax;static constructEmpty(){return new G(Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN,Number.NaN)}constructor(t,e,s,i,n,r){this.xmin=t,this.ymin=e,this.zmin=s,this.xmax=i,this.ymax=n,this.zmax=r,this.normalize()}inflate(t){this.inflateCoords(t,t,t)}inflateCoords(t,e,s){p(0)}getEnvelope2D(){return new I(this.xmin,this.ymin,this.xmax,this.ymax)}getEnvelopeZs(){return new r(this.zmin,this.zmax)}setEmptyZ(){this.zmin=Number.NaN,this.zmax=Number.NaN}normalize(){let t=!1;this.xmin<=this.xmax||(this.xmax=o(this.xmin,this.xmin=this.xmax),t=!0),this.ymin<=this.ymax||(this.ymax=o(this.ymin,this.ymin=this.ymax),t=!0),!t||this.xmin<=this.xmax&&this.ymin<=this.ymax?this.zmin<=this.zmax||(this.zmax=o(this.zmin,this.zmin=this.zmax),this.zmin<=this.zmax||this.setEmptyZ()):this.setEmpty()}isEmpty(){return Number.isNaN(this.xmin)||Number.isNaN(this.ymin)||Number.isNaN(this.xmax)||Number.isNaN(this.ymax)}isEmptyZ(){return Number.isNaN(this.zmin)||Number.isNaN(this.zmax)}setEmpty(){this.xmin=Number.NaN,this.ymin=Number.NaN,this.zmin=Number.NaN,this.xmax=Number.NaN,this.ymax=Number.NaN,this.zmax=Number.NaN}mergeEnv3D(t){t.isEmpty()||(this.mergeCoords(t.xmin,t.ymin,t.zmin),this.mergeCoords(t.xmax,t.ymax,t.zmax))}mergeNe(t){this.mergeNeCoords(t.x,t.y,t.z)}mergeNeCoords(t,e,s){this.xmin>t?this.xmin=t:this.xmax<t&&(this.xmax=t),this.ymin>e?this.ymin=e:this.ymax<e&&(this.ymax=e),this.zmin>s?this.zmin=s:this.zmax<s&&(this.zmax=s)}mergeCoords(t,e,s){this.isEmpty()?(this.xmin=t,this.xmax=t,this.ymin=e,this.ymax=e,this.zmin=s,this.zmax=s):(this.isEmptyZ()&&(this.zmin=s,this.zmax=s),this.mergeNeCoords(t,e,s))}setCoords(t,e,s,i,n,r){this.xmin=t,this.ymin=e,this.zmin=s,this.xmax=i,this.ymax=n,this.zmax=r,this.normalize()}sqrDistanceEnvelope3DAndPoints(t,e,s,i=1){return p(0),0}sqrMaxDistance(t,e=1){return p(0),0}}const U=-559038737;var Z=z;function Q(t,e,s){switch(t){case 0:return new it(e,s);case 1:return new nt(e,s);case 2:return new st(e,s);case 3:throw new Error("64 bit int attribute stream not implemented");case 4:return new et(e,s);default:g("")}}function j(t,e){const s=Z.getComponentCount(t);return Q(Z.getPersistence(t),e*s,Z.getDefaultValue(t))}function W(t,e){const s=Z.getComponentCount(t);return Q(Z.getPersistence(t),e*s)}function J(t,e){return new st(t,e)}function K(t,e){return new et(t,e)}function $(t,e){return new nt(t,e)}class tt{static s_constructMin=2;static s_resizeMin=30;size(){return this.m_size}checkResize(t,e){t>this.m_size&&this.resize(t,e)}resize(t,e){if((t=Math.trunc(t))===this.m_size)return;const s=!!e||Number.isNaN(e);if(t<this.m_a.length)this.m_a.length>tt.s_resizeMin&&1.25*t<this.m_a.length&&(this.m_a=this.m_a.slice(0,t)),s&&t>this.m_size&&this.m_a.fill(e,this.m_size,t);else if(t>=this.m_a.length){const i=1.25*t,n=new this.m_a.constructor(i);n.set(this.m_a),this.m_a=n,s&&this.m_a.fill(e,this.m_size,t)}this.m_size=t}resizeRounded(t,e){return this.resize(t,e)}reserve(t){}read(t){return this.m_a[t]}readAsDbl(t){return this.read(t)}write(t,e){this.m_a[t]=e}writeAsDbl(t,e){this.write(t,e)}setRange(t,e,s){(e<0||s<0||s+e>this.size())&&g(),this.m_a.fill(t,e,e+s)}add(t){this.resize(this.m_size+1),this.m_a[this.m_size-1]=t}addArray(t,e){const s=this.m_size;void 0===e?(this.resize(this.m_size+t.length),this.m_a.set(t,s)):(this.resize(this.m_size+e),this.m_a.set(t.slice(0,e),s))}getArray(){return this.m_a}equals(t,e,s,i){if(this.getPersistence()!==t.getPersistence())return!1;return rt(this,t,e,s,i)}insertRange(t,e,s,i){const n=this.m_size;this.checkResize(Math.max(0,i)+s),this.m_a.copyWithin(t+s,t,i>=0?i:n),this.m_a.fill(e,t,t+s)}readRange(t,e){return this.m_a.slice(t,t+e)}insertRangeFromStream(t,e,s,i,n,r,o){p(this.getPersistence()===e.getPersistence());const a=e,h=this.m_size;i&&this.checkResize(Math.max(0,o)+i),this.m_a.copyWithin(t+i,t,o>=0?o:h),this.m_a.set(a.readRange(s,i),t),n||this.reverseRange(t,i,r)}writeRange(t,e,s,i,n,r){p(this.getPersistence()===s.getPersistence());const o=s;if((t<0||e<0||i<0)&&g(),o.size()<i+e&&g(),0===e)return;this.size()<e+t&&this.resize(e+t);const a=o.m_a.subarray(i,i+e);ot(this.m_a,t,e,a)}insertAttributes(t,e,s,i){const n=Z.getComponentCount(s);this.m_a.copyWithin(t+n,t,i>=0?i:this.m_size);for(let r=0;r<n;r++)this.m_a[t+r]=e.getAttributeAsDbl(s,r)}insertAttributesFromPoints(t,e,s,i,n){p(Z.getPersistence(i)===this.getPersistence());const r=Z.getComponentCount(i),o=this.m_size;if(this.checkResize(Math.max(0,n)+r*s),this.m_a.copyWithin(t+r*s,t,n>=0?n:o),0===i){const i=new a;for(let n=t,r=0;r<s;r++,n+=2)e[r].queryXY(i),this.m_a[n]=i.x,this.m_a[n+1]=i.y}else if(1===r)for(let a=t,h=0;h<s;h++,a++)this.m_a[a]=e[h].getAttributeAsDbl(i,0);else for(let a=t,h=0;h<s;h++,a+=r)for(let t=0;t<r;t++)this.m_a[a+t]=e[h].getAttributeAsDbl(i,t)}eraseRange(t,e,s){this.m_size<t+e&&g(),this.m_a.copyWithin(t,t+e),this.m_size-=e}reverseRange(t,e,s){if((s<1||e%s!==0)&&g(),this.m_a.subarray(t,t+e).reverse(),s>1)for(let i=t,n=t+e;i<n;i+=s){let t=i,e=i+s-1;for(;t<e;){const s=this.m_a[t];this.m_a[t]=this.m_a[e],this.m_a[e]=s,t++,e--}}}rotate(t,e,s){(e<t||e>s||t>s)&&f("rotate"),e!==t&&e!==s&&(this.reverseRange(t,e-t,1),this.reverseRange(e,s-e,1),this.reverseRange(t,s-t,1))}sort(t,e,s){this.m_a.subarray(t,e).sort(s)}constructor(t){if(t.move)this.m_a=t.move.m_a,this.m_size=t.move.m_size,t.move.m_a=t.move.m_a.slice(0,0),t.move.m_size=0;else if(t.fromArray)this.m_a=t.fromArray,this.m_size=t.size??t.fromArray.length;else if(t.copy)this.m_size=t.copy.m_size,t.maxSize&&(this.m_size=Math.min(t.maxSize,this.m_size)),this.m_a=t.copy.m_a.slice(0,this.m_size);else{const e=Math.max(t.size,tt.s_constructMin);this.m_a=new t.ctor(e),(t.defaultValue||Number.isNaN(t.defaultValue))&&this.m_a.fill(t.defaultValue),this.m_size=t.size}}m_a;m_size}class et extends tt{setBits(t,e){this.m_a[t]|=e}clearBits(t,e){this.m_a[t]&=~e}getPersistence(){return 4}clone(){return new et({ctor:Int8Array,copy:this})}restrictedClone(t){return new et({ctor:Int8Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Int8Array,size:t,defaultValue:e}:t)}}class st extends tt{getPersistence(){return 2}clone(){return new st({ctor:Int32Array,copy:this})}restrictedClone(t){return new st({ctor:Int32Array,copy:this,maxSize:t})}write(t,e){p(e<=h()),super.write(t,e)}constructor(t,e){super("number"==typeof t?{ctor:Int32Array,size:t,defaultValue:e}:t)}}class it extends tt{getPersistence(){return 0}clone(){return new it({ctor:Float32Array,copy:this})}restrictedClone(t){return new it({ctor:Float32Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Float32Array,size:t,defaultValue:e}:t)}}class nt extends tt{getPersistence(){return 1}applyTransformation(t,e,s){(1&e||e+2*s>this.size())&&g();const i=0===e?this.m_a:this.m_a.subarray(e);t.transformInterleavedPoints(i,s,i)}readPoint2D(t){const e=this.m_a[t],s=this.m_a[t+1];return new a(e,s)}queryPoint2D(t,e){return e.x=this.m_a[t],e.y=this.m_a[t+1],e}writePoint2D(t,e){this.write(t,e.x),this.write(t+1,e.y)}insert(t,e,s){this.checkResize(s+2),this.m_a.copyWithin(t+2,t,s),this.m_a[t]=e.x,this.m_a[t+1]=e.y}insertRangeFromPoints(t,e,s,i,n,r){const o=this.m_size;if(this.checkResize(Math.max(r,0)+2*i),this.m_a.copyWithin(t+2*i,t,r>=0?r:o),n)for(let a=s,h=t,m=0;m<i;++m,++a){const t=e[a];this.m_a[h++]=t.x,this.m_a[h++]=t.y}else for(let a=s+i-1,h=t,m=0;m<i;++m,--a){const t=e[a];this.m_a[h++]=t.x,this.m_a[h++]=t.y}}queryRange(t,e,s,i,n){if((t<0||e<0)&&g(),!i&&(n<=0||e%n!==0)&&g(),0===e)return;if(1===e)return void(s[0]=this.m_a[t]);const r=this.m_a.subarray(t,t+e);s.set(r)}writeRangeFromArray(t,e,s,i,n){if((t<0||e<0)&&g(),0===e)return;if(1===e)return void(this.m_a[t]=s[0]);let r=s;e<s.length&&(r=s.subarray(0,e)),this.m_a.set(r,t)}clone(){return new nt({ctor:Float64Array,copy:this})}restrictedClone(t){return new nt({ctor:Float64Array,copy:this,maxSize:t})}constructor(t,e){super("number"==typeof t?{ctor:Float64Array,size:t,defaultValue:e}:t)}}function rt(t,e,s,n,r){if(t.getPersistence()!==e.getPersistence())return!1;const o=t.getPersistence()<=1,a=t.size(),h=e.size();if(n>a||n>h)return!1;if(r)if(o){for(let m=s;m<n;m++)if(!i(t.read(m),e.read(m),r))return!1}else for(let i=s;i<n;i++){let s=t.read(i)-e.read(i);if(s<0&&(s=-s),s>r)return!1}else for(let i=s;i<n;i++){const s=t.read(i),n=e.read(i);if(s!==n){if(o&&Number.isNaN(s)&&Number.isNaN(n))continue;return!1}}return!0}function ot(t,e,s,i,n,r){if((e<0||s<0)&&g(),0===s)return;if(1===s)return void(t[e]=i[0]);let o=i;s<i.length&&(o=i.subarray(0,s)),t.set(o,e)}const at={partCount:0,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:0,segmentCountBezier:0};class ht{m_buckets;m_bucketedIndices;static c_maxBuckets=65536;m_minValue=-1;m_maxValue=-1;m_dy=Number.NaN;constructor(){this.m_buckets=new st(0),this.m_bucketedIndices=new st(0)}static sortEx(t,e,s,i,n=32){if(s-e<=n)return void i.userSort(e,s,t);(new ht).sort(t,e,s,i,n)}sort(t,e,s,i,n=32){if(s-e<=n)return void i.userSort(e,s,t);let r=!0,o=Number.POSITIVE_INFINITY,a=Number.NEGATIVE_INFINITY;for(let m=e;m<s;m++){const e=i.getValue(t.read(m));e<o&&(o=e),e>a&&(a=e)}if(this.reset(s-e,o,a,s-e)){for(let r=e;r<s;r++){const s=t.read(r),n=i.getValue(s),o=this.getBucket(n);this.m_buckets.write(o,this.m_buckets.read(o)+1),this.m_bucketedIndices.write(r-e,s)}let n=this.m_buckets.read(0);this.m_buckets.write(0,0);for(let t=1,e=this.m_buckets.size();t<e;t++){const e=this.m_buckets.read(t);this.m_buckets.write(t,n),n+=e}for(let r=e;r<s;r++){const s=this.m_bucketedIndices.read(r-e),n=i.getValue(s),o=this.getBucket(n),a=this.m_buckets.read(o);t.write(a+e,s),this.m_buckets.write(o,a+1)}r=!1}if(r)return void i.userSort(e,s,t);let h=0;for(let m=0,_=this.m_buckets.size();m<_;m++){const s=h;h=this.m_buckets.read(m),h>s&&i.userSort(e+s,e+h,t)}this.m_buckets.size()>100&&(this.m_buckets.resize(0),this.m_bucketedIndices.resize(0))}reset(t,e,s,i){if(t<2||s===e)return!1;const n=Math.min(ht.c_maxBuckets,t);return this.m_buckets.resize(n),this.m_buckets.setRange(0,0,this.m_buckets.size()),this.m_minValue=e,this.m_maxValue=s,this.m_bucketedIndices.resize(i),this.m_dy=(s-e)/(n-1),!0}getBucket(t){return Math.trunc((t-this.m_minValue)/this.m_dy)}getBucketCount(){return this.m_buckets.size()}}class mt{m_buffer=new Int32Array(0);m_firstFree=-1;m_last=0;size_=0;capacity_=0;stride;capacity(){return this.capacity_}constructor(t){this.stride=t}size(){return this.size_}deleteElement(t){t<this.m_last?(this.m_buffer[t*this.stride]=this.m_firstFree,this.m_firstFree=t):this.m_last--,this.size_--}getField(t,e){return this.m_buffer[t*this.stride+e]}setField(t,e,s){this.m_buffer[t*this.stride+e]=s}elementToIndex(t){return t}newElement(){let t=this.m_firstFree;if(-1===t){if(this.m_last===this.capacity_){let t=0!==this.capacity_?Math.trunc(3*(this.capacity_+1)/2):1;if(t>Number.MAX_SAFE_INTEGER&&(t=Number.MAX_SAFE_INTEGER),t===this.capacity_)throw new Error("index out of bounds");this.grow_(t)}t=this.m_last,this.m_last++}else this.m_firstFree=this.m_buffer[t*this.stride];this.size_++;for(let e=t*this.stride;e<t*this.stride+this.stride;e++)this.m_buffer[e]=-1;return t}newElementPset(t){let e=this.m_firstFree;if(-1===e){if(this.m_last===this.capacity_){let t=0!==this.capacity_?Math.trunc(3*(this.capacity_+1)/2):1;if(t>Number.MAX_SAFE_INTEGER&&(t=Number.MAX_SAFE_INTEGER),t===this.capacity_)throw new Error("index out of bounds");this.grow_(t)}e=this.m_last,this.m_last++}else this.m_firstFree=this.m_buffer[e*this.stride];this.size_++;const s=e*this.stride;for(let i=0;i<t.length;i++)this.m_buffer[s+i]=t[i];return e}deleteAll(t){this.m_firstFree=-1,this.m_last=0,this.size_=0,t&&(this.m_buffer=new Int32Array(0),this.capacity_=0)}setCapacity(t){t>this.capacity_&&this.grow_(t)}swap(t,e){const s=t*this.stride,i=e*this.stride;for(let n=0;n<this.stride;n++){const t=this.m_buffer[i+n];this.m_buffer[i+n]=this.m_buffer[s+n],this.m_buffer[s+n]=t}}swapField(t,e,s){const i=this.m_buffer[this.stride*e+s];this.m_buffer[this.stride*e+s]=this.m_buffer[this.stride*t+s],this.m_buffer[this.stride*t+s]=i}static impossibleIndex2(){return-2}static impossibleIndex3(){return-3}static isValidElement(t){return t>=0}grow_(t){null==this.m_buffer&&(this.m_buffer=new Int32Array(0));const e=this.stride*t,s=new Int32Array(e);s.set(this.m_buffer,0),this.m_buffer=s,this.capacity_=t}}function _t(t,e){return{element:t,box:e.clone()}}class lt{m_extent=new I;m_dataExtent=new I;m_childExtents=[new I,new I,new I,new I];m_quadTreeNodes;m_elementNodes=new mt(4);m_data=[];m_freeData=[];m_root=-1;m_height=8;m_bStoreDuplicates;static m_quadrantMask=3;static m_heightBitShift=2;static m_flushingCount=5;constructor(t,e,s){void 0===s&&(s=!1),this.m_quadTreeNodes=new mt(s?11:10),this.m_bStoreDuplicates=s,this.reset_(t,e)}reset(t,e){this.m_quadTreeNodes.deleteAll(!1),this.m_elementNodes.deleteAll(!1),this.m_data.length=0,this.m_freeData.length=0,this.reset_(t,e)}insert(t,e){if(-1===this.m_root&&this.createRoot_(),this.m_bStoreDuplicates){const s=this.insertDuplicates_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}const s=this.insert_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}insertEx(t,e,s){if(-1===this.m_root&&this.createRoot_(),this.m_bStoreDuplicates){const s=this.insertDuplicates_(t,e,0,this.m_extent,this.m_root,!1,-1);return-1!==s&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),s}let i;i=-1===s?this.m_root:this.getQuad_(s);const n=this.getHeight(i),r=this.getExtent(i),o=this.insert_(t,e,n,r,i,!1,-1);return-1!==o&&(this.m_dataExtent.isEmpty()?this.m_dataExtent.setCoords({env2D:e}):this.m_dataExtent.mergeEnvelope2D(e)),o}removeElement(t){p(0)}getElement(t){return this.getElementValue_(this.getData_(t))}getElementAtIndex(t){return p(0),0}getElementExtent(t){const e=this.getData_(t);return this.getBoundingBoxValue_(e).clone()}getElementExtentAtIndex(t){return p(0),{}}getDataExtent(){return this.m_dataExtent.clone()}getQuadTreeExtent(){return p(0),{}}getHeight(t){return this.m_quadTreeNodes.getField(t,6)>>lt.m_heightBitShift}getMaxHeight(){return this.m_height}getExtent(t){const e=new I;if(e.setCoords({env2D:this.m_extent}),t===this.m_root)return e;const s=[];let i=t;do{s.push(this.getQuadrant_(i)),i=this.getParent_(i)}while(i!==this.m_root);const n=s.length;for(let r=0;r<n;r++){const t=s.at(-1);s.pop(),0===t?(e.xmin=.5*(e.xmin+e.xmax),e.ymin=.5*(e.ymin+e.ymax)):1===t?(e.xmax=.5*(e.xmin+e.xmax),e.ymin=.5*(e.ymin+e.ymax)):2===t?(e.xmax=.5*(e.xmin+e.xmax),e.ymax=.5*(e.ymin+e.ymax)):(e.xmin=.5*(e.xmin+e.xmax),e.ymax=.5*(e.ymin+e.ymax))}return e}getQuad(t){return this.getQuad_(t)}getElementCount(){return-1===this.m_root?0:this.getSubTreeElementCount_(this.m_root)}getSubTreeElementCount(t){return this.getSubTreeElementCount_(t)}getContainedSubTreeElementCount(t){return this.m_bStoreDuplicates?this.getContainedSubTreeElementCount_(t):this.getSubTreeElementCount_(t)}getIntersectionCount(t,e,s){if(-1===this.m_root)return 0;const i=new I;i.setCoords({env2D:t}),i.inflateCoords(e,e);const n=[],r=[];n.push(this.m_root),r.push(this.m_extent.clone());const o=l(I,4);let a=0;for(;n.length>0;){let t=!1;const e=n.at(-1),h=r.at(-1);if(n.pop(),r.pop(),i.containsEnvelope(h)){if(a+=this.getSubTreeElementCount(e),s>0&&a>=s)return s}else if(i.isIntersecting(h)){for(let t=this.getFirstElement_(e);-1!==t;t=this.getNextElement_(t)){const e=this.getData_(t);if(this.getBoundingBoxValue_(e).isIntersecting(i)&&(a++,s>0&&a>=s))return s}t=this.getHeight(e)+1<=this.m_height}if(t){lt.setChildExtents_(h,o);for(let t=0;t<4;t++){const s=this.getChild_(e,t);if(-1!==s&&this.getSubTreeElementCount_(s)>0){i.isIntersecting(o[t])&&(n.push(s),r.push(o[t].clone()))}}}}return a}hasData(t,e){return this.getIntersectionCount(t,e,1)>=1}getIterator(t,e){return new ut(this,t,e)}getIteratorForQT(){return new ut(this)}getSortedIterator(t,e){return new dt(this.getIterator(t,e))}getSortedIteratorForQT(){return new dt(this.getIteratorForQT())}visitLeavesNearest(t,e,s,i){p(0)}reset_(t,e){(e<0||e>127)&&g("invalid height"),this.m_height=e,this.m_extent.setCoords({env2D:t}),this.m_dataExtent.setEmpty(),this.m_root=-1}insert_(t,e,s,i,n,r,o){if(!i.containsEnvelope(e))return 0===s?-1:this.insert_(t,e,0,this.m_extent,this.m_root,r,o);if(!r)for(let _=n;-1!==_;_=this.getParent_(_))this.setSubTreeElementCount_(_,this.getSubTreeElementCount_(_)+1);const a=new I;a.setCoords({env2D:i});let h,m=n;for(h=s;h<this.m_height&&this.canPushDown_(m);h++){lt.setChildExtents_(a,this.m_childExtents);let t=!1;for(let s=0;s<4;s++)if(this.m_childExtents[s].containsEnvelope(e)){t=!0;let e=this.getChild_(m,s);-1===e&&(e=this.createChild_(m,s)),this.setSubTreeElementCount_(e,this.getSubTreeElementCount_(e)+1),m=e,a.setCoords({env2D:this.m_childExtents[s]});break}if(!t)break}return this.insertAtQuad_(t,e,h,a,m,r,n,o,-1)}insertDuplicates_(t,e,s,i,n,r,o){if(!r){if(!i.containsEnvelope(e))return-1;this.setSubTreeElementCount_(n,this.getSubTreeElementCount_(n)+1),this.setContainedSubTreeElementCount_(n,this.getContainedSubTreeElementCount_(n)+1)}const a=Math.max(e.width(),e.height());let h=-1;const m=[],_=[],u=[];m.push(n),_.push(i.clone()),u.push(s);const d=l(I,4);for(;m.length>0;){let s=!1;const i=m.at(-1),l=_.at(-1),c=u.at(-1);if(m.pop(),_.pop(),u.pop(),c+1<this.m_height&&this.canPushDown_(i)){a<=Math.max(l.width(),l.height())/2&&(s=!0)}if(s){lt.setChildExtents_(l,d);let t=!1;for(let s=0;s<4;s++)if(t=d[s].containsEnvelope(e),t){let t=this.getChild_(i,s);-1===t&&(t=this.createChild_(i,s)),m.push(t),_.push(d[s].clone()),u.push(c+1),this.setSubTreeElementCount_(t,this.getSubTreeElementCount_(t)+1),this.setContainedSubTreeElementCount_(t,this.getContainedSubTreeElementCount_(t)+1);break}if(!t)for(let s=0;s<4;s++){if(d[s].isIntersecting(e)){let t=this.getChild_(i,s);-1===t&&(t=this.createChild_(i,s)),m.push(t),_.push(d[s].clone()),u.push(c+1),this.setSubTreeElementCount_(t,this.getSubTreeElementCount_(t)+1)}}}else h=this.insertAtQuad_(t,e,c,l,i,r,n,o,h),r=!1}return 0}insertAtQuad_(t,e,s,i,n,r,o,a,h){this.getFirstElement_(n);const m=this.getLastElement_(n);let _=-1;if(r){if(n===o)return a;this.disconnectElementHandle_(a),_=a}else-1===h?(_=this.createElement_(),this.setDataValues_(this.getData_(_),t,e)):_=this.createElementFromDuplicate_(h);return this.setQuad_(_,n),-1!==m?(this.setPrevElement_(_,m),this.setNextElement_(m,_)):this.setFirstElement_(n,_),this.setLastElement_(n,_),this.setLocalElementCount_(n,this.getLocalElementCount_(n)+1),this.canFlush_(n)&&this.flush_(s,i,n),_}static setChildExtents_(t,e){const s=.5*(t.xmin+t.xmax),i=.5*(t.ymin+t.ymax);e[0].setCoords({xmin:s,ymin:i,xmax:t.xmax,ymax:t.ymax}),e[1].setCoords({xmin:t.xmin,ymin:i,xmax:s,ymax:t.ymax}),e[2].setCoords({xmin:t.xmin,ymin:t.ymin,xmax:s,ymax:i}),e[3].setCoords({xmin:s,ymin:t.ymin,xmax:t.xmax,ymax:i})}disconnectElementHandle_(t){const e=this.getQuad_(t),s=this.getFirstElement_(e),i=this.getLastElement_(e),n=this.getPrevElement_(t),r=this.getNextElement_(t);s===t?(-1!==r?this.setPrevElement_(r,-1):this.setLastElement_(e,-1),this.setFirstElement_(e,r)):i===t?(this.setNextElement_(n,-1),this.setLastElement_(e,n)):(this.setPrevElement_(r,n),this.setNextElement_(n,r)),this.setPrevElement_(t,-1),this.setNextElement_(t,-1),this.setLocalElementCount_(e,this.getLocalElementCount_(e)-1)}canFlush_(t){return this.getLocalElementCount_(t)===lt.m_flushingCount&&!this.hasChildren_(t)}flush_(t,e,s){let i;const n=new I;let r=this.getFirstElement_(s),o=-1,a=-1;do{a=this.getData_(r),i=this.getElementValue_(a),n.setCoords({env2D:this.getBoundingBoxValue_(a)}),o=this.getNextElement_(r),this.m_bStoreDuplicates?this.insertDuplicates_(i,n,t,e,s,!0,r):this.insert_(i,n,t,e,s,!0,r),r=o}while(-1!==r)}canPushDown_(t){return this.getLocalElementCount_(t)>=lt.m_flushingCount||this.hasChildren_(t)}hasChildren_(t){return-1!==this.getChild_(t,0)||-1!==this.getChild_(t,1)||-1!==this.getChild_(t,2)||-1!==this.getChild_(t,3)}createChild_(t,e){const s=this.m_quadTreeNodes.newElement();return this.setChild_(t,e,s),this.setSubTreeElementCount_(s,0),this.setLocalElementCount_(s,0),this.setParent_(s,t),this.setHeightAndQuadrant_(s,this.getHeight_(t)+1,e),this.m_bStoreDuplicates&&this.setContainedSubTreeElementCount_(s,0),s}createRoot_(){this.m_root=this.m_quadTreeNodes.newElement(),this.setSubTreeElementCount_(this.m_root,0),this.setLocalElementCount_(this.m_root,0),this.setHeightAndQuadrant_(this.m_root,0,0),this.m_bStoreDuplicates&&this.setContainedSubTreeElementCount_(this.m_root,0)}createElement_(){const t=this.m_elementNodes.newElement();let e;return this.m_freeData.length>0?(e=this.m_freeData.at(-1),this.m_freeData.pop()):(e=this.m_data.length,this.m_data.length=e+1),this.setData_(t,e),t}createElementFromDuplicate_(t){const e=this.m_elementNodes.newElement(),s=this.getData_(t);return this.setData_(e,s),e}freeElementAndBoxNode_(t){p(0)}getChild_(t,e){return this.m_quadTreeNodes.getField(t,e)}setChild_(t,e,s){this.m_quadTreeNodes.setField(t,e,s)}getFirstElement_(t){return this.m_quadTreeNodes.getField(t,4)}setFirstElement_(t,e){this.m_quadTreeNodes.setField(t,4,e)}getLastElement_(t){return this.m_quadTreeNodes.getField(t,5)}setLastElement_(t,e){this.m_quadTreeNodes.setField(t,5,e)}getQuadrant_(t){return this.m_quadTreeNodes.getField(t,6)<.m_quadrantMask}getHeight_(t){return this.m_quadTreeNodes.getField(t,6)>>lt.m_heightBitShift}setHeightAndQuadrant_(t,e,s){const i=e<<lt.m_heightBitShift|s;this.m_quadTreeNodes.setField(t,6,i)}getLocalElementCount_(t){return this.m_quadTreeNodes.getField(t,7)}setLocalElementCount_(t,e){this.m_quadTreeNodes.setField(t,7,e)}getSubTreeElementCount_(t){return this.m_quadTreeNodes.getField(t,8)}setSubTreeElementCount_(t,e){this.m_quadTreeNodes.setField(t,8,e)}getParent_(t){return this.m_quadTreeNodes.getField(t,9)}setParent_(t,e){this.m_quadTreeNodes.setField(t,9,e)}getContainedSubTreeElementCount_(t){return this.m_quadTreeNodes.getField(t,10)}setContainedSubTreeElementCount_(t,e){this.m_quadTreeNodes.setField(t,10,e)}getData_(t){return this.m_elementNodes.getField(t,0)}setData_(t,e){this.m_elementNodes.setField(t,0,e)}getPrevElement_(t){return this.m_elementNodes.getField(t,1)}getNextElement_(t){return this.m_elementNodes.getField(t,2)}setPrevElement_(t,e){this.m_elementNodes.setField(t,1,e)}setNextElement_(t,e){this.m_elementNodes.setField(t,2,e)}getQuad_(t){return this.m_elementNodes.getField(t,3)}setQuad_(t,e){this.m_elementNodes.setField(t,3,e)}getElementValue_(t){return this.m_data[t].element}getBoundingBoxValue_(t){return this.m_data[t].box}setDataValues_(t,e,s){this.m_data[t]=_t(e,s)}}class ut{m_bLinear=!1;m_queryStart=new a;m_queryEnd=new a;m_queryBox=new I;m_tolerance=0;m_currentElementHandle=-1;m_nextElementHandle=-1;m_quadTree;m_quadsStack=[];m_extentsStack=[];m_childExtents=[new I,new I,new I,new I];constructor(t,e,s){this.m_quadTree=t,e&&this.resetIterator(e,s)}resetIterator(t,e){if(void 0===e&&(e=0),t instanceof I)return this.m_quadsStack.length=0,this.m_extentsStack.length=0,this.m_currentElementHandle=-1,this.m_queryBox.setCoords({env2D:t}),this.m_queryBox.inflateCoords(e,e),this.m_tolerance=Number.NaN,void(-1!==this.m_quadTree.m_root&&this.m_queryBox.isIntersecting(this.m_quadTree.m_extent)?(this.m_quadsStack.push(this.m_quadTree.m_root),this.m_extentsStack.push(this.m_quadTree.m_extent.clone()),this.m_nextElementHandle=this.m_quadTree.getFirstElement_(this.m_quadTree.m_root),this.m_bLinear=!1):this.m_nextElementHandle=-1);if(this.m_quadsStack.length=0,this.m_extentsStack.length=0,this.m_currentElementHandle=-1,t.queryLooseEnvelope(this.m_queryBox),this.m_queryBox.inflateCoords(e,e),-1!==this.m_quadTree.m_root&&this.m_queryBox.isIntersecting(this.m_quadTree.m_extent)){const s=t.getGeometryType();if(this.m_bLinear=s===v.enumLine,this.m_bLinear){const s=t;this.m_queryStart.assign(s.getStartXY()),this.m_queryEnd.assign(s.getEndXY()),this.m_tolerance=e}else this.m_tolerance=Number.NaN;this.m_quadsStack.push(this.m_quadTree.m_root),this.m_extentsStack.push(this.m_quadTree.m_extent.clone()),this.m_nextElementHandle=this.m_quadTree.getFirstElement_(this.m_quadTree.m_root)}else this.m_nextElementHandle=-1}next(){if(0===this.m_quadsStack.length)return-1;this.m_currentElementHandle=this.m_nextElementHandle;const t=new a,e=new a,s=new I;let i=!1;for(;!i;){for(;-1!==this.m_currentElementHandle;){const n=this.m_quadTree.getData_(this.m_currentElementHandle);if(s.setCoords({env2D:this.m_quadTree.getBoundingBoxValue_(n)}),s.isIntersecting(this.m_queryBox)){if(!this.m_bLinear){i=!0;break}if(t.setCoordsPoint2D(this.m_queryStart),e.setCoordsPoint2D(this.m_queryEnd),s.inflateCoords(this.m_tolerance,this.m_tolerance),s.clipLine(t,e)>0){i=!0;break}}this.m_currentElementHandle=this.m_quadTree.getNextElement_(this.m_currentElementHandle)}if(-1===this.m_currentElementHandle){const s=this.m_quadsStack.at(-1),i=this.m_extentsStack.at(-1);lt.setChildExtents_(i,this.m_childExtents),this.m_quadsStack.pop(),this.m_extentsStack.pop();for(let n=0;n<4;n++){const i=this.m_quadTree.getChild_(s,n);if(-1!==i&&this.m_quadTree.getSubTreeElementCount(i)>0&&this.m_childExtents[n].isIntersecting(this.m_queryBox))if(this.m_bLinear){t.setCoordsPoint2D(this.m_queryStart),e.setCoordsPoint2D(this.m_queryEnd);const s=new I;s.setCoords({env2D:this.m_childExtents[n]}),s.inflateCoords(this.m_tolerance,this.m_tolerance),s.clipLine(t,e)>0&&(this.m_quadsStack.push(i),this.m_extentsStack.push(this.m_childExtents[n].clone()))}else this.m_quadsStack.push(i),this.m_extentsStack.push(this.m_childExtents[n].clone())}if(0===this.m_quadsStack.length)return-1;this.m_currentElementHandle=this.m_quadTree.getFirstElement_(this.m_quadsStack.at(-1))}}return this.m_nextElementHandle=this.m_quadTree.getNextElement_(this.m_currentElementHandle),this.m_currentElementHandle}clone(){return p(0),{}}}class dt{m_bucketSort=new ht;m_sortedHandles=new st(0);m_quadTreeIteratorImpl;m_index=-1;constructor(t){this.m_quadTreeIteratorImpl=t}resetIterator(t,e){this.m_quadTreeIteratorImpl.resetIterator(t,e),this.m_sortedHandles.resize(0),this.m_index=-1}next(){if(-1===this.m_index){let t=-1;for(;-1!==(t=this.m_quadTreeIteratorImpl.next());)this.m_sortedHandles.add(t);const e=this,s={userSort(t,s,i){i.sort(t,s,(t,s)=>e.m_quadTreeIteratorImpl.m_quadTree.getElement(t)-e.m_quadTreeIteratorImpl.m_quadTree.getElement(s))},getValue:t=>e.m_quadTreeIteratorImpl.m_quadTree.getElement(t)};this.m_bucketSort.sort(this.m_sortedHandles,0,this.m_sortedHandles.size(),s)}return this.m_index===this.m_sortedHandles.size()-1?-1:(this.m_index++,this.m_sortedHandles.read(this.m_index))}clone(){return p(0),{}}}class ct{constructor(t=!1){this.m_bNotifyOnActions=t}onDelete(t){}onSet(t){}onEndSearch(t){}onAddUniqueElementFailed(t){}m_bNotifyOnActions;onDeleteImpl(t,e){this.m_bNotifyOnActions&&this.onDelete(t.getElement(e))}onSetImpl(t,e){this.m_bNotifyOnActions&&this.onSet(t.getElement(e))}onAddUniqueElementFailedImpl(t){this.m_bNotifyOnActions&&this.onAddUniqueElementFailed(t)}onEndSearchImpl(t){this.m_bNotifyOnActions&&this.onEndSearch(t)}}class pt{static st_nullNode(){return-1}constructor(){}setComparator(t){this.m_comparator=t}getComparator(){return this.m_comparator}disableBalancing(){this.m_bBalancing=!1}enableBalancing(){this.m_bBalancing||(p(this.m_treapCount<=1),this.rebalance(-1),this.m_bBalancing=!0)}isAutoBalancing(){return this.m_bBalancing}rebalance(t){if(this.m_bBalancing)return;if(-1===t&&(t=this.m_defaultTreap),0===this.size(t))return;const e=[];for(let s=this.getFirst(t);-1!==s;s=this.getNext(s))e.push(s),this.setParent_(s,-1),this.setRight_(s,-1),this.setLeft_(s,-1);this.setRoot_(-1,t),this.setFirst_(-1,t),this.setLast_(-1,t),this.setSize_(0,t),this.m_bBalancing=!0;for(const s of e)this.addBiggestElement_(s,t);this.m_bBalancing=!1}setCapacity(t){this.m_treapData.setCapacity(t)}createTreap(t){const e=this.m_treapData.newElement();return this.setSize_(0,e),this.setTreapData_(t,e),this.m_treapCount++,e}deleteTreap(t){this.m_treapData.deleteElement(t),this.m_treapCount--}addElement(t,e=-1){return-1===e&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap),this.addElement_(t,0,e)}addUniqueElement(t,e=-1){return-1===e&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap),this.addElement_(t,1,e)}addBiggestElement(t,e=-1){-1===e&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),e=this.m_defaultTreap);const s=this.newNode_(t);return this.addBiggestElement_(s,e),s}addElementAtPosition(t,e,s,i,n,r=-1){if(-1===r&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),r=this.m_defaultTreap),this.getRoot_(r)===pt.st_nullNode()){const t=this.newNode_(s);return this.setRoot_(t,r),this.addToList_(-1,t,r),t}let o,a,h,m,_;if(n?(o=e!==pt.st_nullNode()?this.m_comparator.compare(this,s,e):-1,a=t!==pt.st_nullNode()?this.m_comparator.compare(this,s,t):1):(o=-1,a=1),i&&(0===o||0===a)){this.m_comparator.onAddUniqueElementFailedImpl(s);const i=0===o?e:t;return this.setDuplicateElement_(i,r),-1}_=e!==pt.st_nullNode()&&t!==pt.st_nullNode()?this.m_random>u(this.m_random)>>1:e!==pt.st_nullNode(),_?(m=o,h=e):(m=a,h=t);let l=-1,d=-1,c=!0;for(;;){if(m<0){const t=this.getLeft(h);if(t===pt.st_nullNode()){d=h,l=this.newNode_(s),this.setLeft_(h,l),this.setParent_(l,h);break}h=t}else{const t=this.getRight(h);if(t===pt.st_nullNode()){d=this.getNext(h),l=this.newNode_(s),this.setRight_(h,l),this.setParent_(l,h);break}h=t}c&&(m*=-1,c=!1)}return this.bubbleUp_(l),this.getParent(l)===pt.st_nullNode()&&this.setRoot_(l,r),this.addToList_(d,l,r),l}replaceElementAtPosition(t,e,s,i,n=-1){if(i){const i=this.getNext(t);let r=-1;i!==pt.st_nullNode()&&(r=this.m_comparator.compare(this,e,i));const o=this.getPrev(t);let a=-1;if(o!==pt.st_nullNode()&&(a=this.m_comparator.compare(this,e,o)),s&&(0===r||0===a)){this.m_comparator.onAddUniqueElementFailedImpl(e);const t=0===r?i:o;return n===pt.st_nullNode()&&(this.m_defaultTreap===pt.st_nullNode()&&(this.m_defaultTreap=this.createTreap(-1)),n=this.m_defaultTreap),this.setDuplicateElement_(t,n),-1}}return this.setElement_(t,e),t}getDuplicateElement(t=-1){return-1===t?this.getDuplicateElement_(this.m_defaultTreap):this.getDuplicateElement_(t)}deleteNode(t,e=-1){this.m_comparator&&this.m_comparator.onDeleteImpl(this,t),-1===e&&(e=this.m_defaultTreap),this.m_bBalancing?this.deleteNode_(t,e):this.unbalancedDelete_(t,e)}search(t,e=-1){let s=this.getRoot(e);for(;s!==pt.st_nullNode();){const e=this.m_comparator.compare(this,t,s);if(!e)return s;s=e<0?this.getLeft(s):this.getRight(s)}return this.m_comparator.onEndSearchImpl(t),pt.st_nullNode()}searchLowerBound(t,e=-1){let s=this.getRoot(e),i=-1;for(;s!==pt.st_nullNode();){const e=t.compare(this,s);if(!e)return s;e<0?s=this.getLeft(s):(i=s,s=this.getRight(s))}return i}searchUpperBound(t,e=-1){let s=this.getRoot(e),i=-1;for(;s!==pt.st_nullNode();){const e=t.compare(this,s);if(!e)return s;e<0?(i=s,s=this.getLeft(s)):s=this.getRight(s)}return i}getElement(t){return this.m_treapData.getField(t,3)}getLeft(t){return this.m_treapData.getField(t,0)}getRight(t){return this.m_treapData.getField(t,1)}getParent(t){return this.m_treapData.getField(t,2)}getNext(t){return this.m_treapData.getField(t,6)}getPrev(t){return this.m_treapData.getField(t,5)}getFirst(t=-1){return-1===t?this.getFirst_(this.m_defaultTreap):this.getFirst_(t)}getLast(t=-1){return-1===t?this.getLast_(this.m_defaultTreap):this.getLast_(t)}getTreapData(t=-1){return-1===t?this.getTreapData_(this.m_defaultTreap):this.getTreapData_(t)}setElement(t,e){null!==this.m_comparator&&this.m_comparator.onSetImpl(this,t),this.setElement_(t,e)}getRoot(t=-1){return-1===t?this.getRoot_(this.m_defaultTreap):this.getRoot_(t)}clear(){this.m_treapData.deleteAll(!1),this.m_defaultTreap=pt.st_nullNode(),this.m_treapCount=0,this.m_maxDepthEver=0}addToList_(t,e,s){let i;-1!==t?(i=this.getPrev(t),this.setPrev_(t,e)):i=this.getLast_(s),this.setPrev_(e,i),-1!==i&&this.setNext_(i,e),this.setNext_(e,t),t===this.getFirst_(s)&&this.setFirst_(e,s),-1===t&&this.setLast_(e,s),this.setSize_(this.getSize_(s)+1,s)}size(t=-1){return-1===t?this.getSize_(this.m_defaultTreap):this.getSize_(t)}getMaxDepth(t=-1){return this.getMaxDepthHelper_(this.getRoot(t))}getMaxDepthEver(){return this.m_maxDepthEver}static st_isValidNode(t){return mt.isValidElement(t)}m_defaultTreap=-1;m_random=124234251;m_comparator=null;m_treapData=new mt(7);m_treapCount=0;m_maxDepthEver=0;m_bBalancing=!0;dbgCheck_(t){}getPriority_(t){return this.m_treapData.getField(t,4)}bubbleDown_(t){let e=this.getLeft(t),s=this.getRight(t);const i=this.getPriority_(t);for(;e!==pt.st_nullNode()||s!==pt.st_nullNode();){const n=e!==pt.st_nullNode()?this.getPriority_(e):d(),r=s!==pt.st_nullNode()?this.getPriority_(s):d();if(i<=Math.min(n,r))return;n<=r?this.rotateRight_(e):this.rotateLeft_(t),e=this.getLeft(t),s=this.getRight(t)}}bubbleUp_(t){if(!this.m_bBalancing)return;const e=this.getPriority_(t);let s=this.getParent(t);for(;s!==pt.st_nullNode()&&this.getPriority_(s)>e;)this.getLeft(s)===t?this.rotateRight_(t):this.rotateLeft_(s),s=this.getParent(t)}rotateLeft_(t){const e=t,s=this.getRight(t);let i;this.setParent_(s,this.getParent(e)),this.setParent_(e,s),i=this.getLeft(s),this.setRight_(e,i),i!==pt.st_nullNode()&&this.setParent_(i,e),this.setLeft_(s,e),i=this.getParent(s),i!==pt.st_nullNode()&&(this.getLeft(i)===e?this.setLeft_(i,s):this.setRight_(i,s))}rotateRight_(t){const e=this.getParent(t),s=t;let i;this.setParent_(s,this.getParent(e)),this.setParent_(e,s),i=this.getRight(s),this.setLeft_(e,i),i!==pt.st_nullNode()&&this.setParent_(i,e),this.setRight_(s,e),i=this.getParent(s),i!==pt.st_nullNode()&&(this.getLeft(i)===e?this.setLeft_(i,s):this.setRight_(i,s))}setParent_(t,e){this.m_treapData.setField(t,2,e)}setLeft_(t,e){this.m_treapData.setField(t,0,e)}setRight_(t,e){this.m_treapData.setField(t,1,e)}setPriority_(t,e){this.m_treapData.setField(t,4,e)}setPrev_(t,e){this.m_treapData.setField(t,5,e)}setNext_(t,e){this.m_treapData.setField(t,6,e)}setRoot_(t,e){this.m_treapData.setField(e,0,t)}setFirst_(t,e){this.m_treapData.setField(e,1,t)}setLast_(t,e){this.m_treapData.setField(e,2,t)}setDuplicateElement_(t,e){this.m_treapData.setField(e,3,t)}setSize_(t,e){this.m_treapData.setField(e,4,t)}setTreapData_(t,e){this.m_treapData.setField(e,5,t)}getRoot_(t){return-1===t?pt.st_nullNode():this.m_treapData.getField(t,0)}getFirst_(t){return-1===t?pt.st_nullNode():this.m_treapData.getField(t,1)}getLast_(t){return-1===t?pt.st_nullNode():this.m_treapData.getField(t,2)}getDuplicateElement_(t){return-1===t?pt.st_nullNode():this.m_treapData.getField(t,3)}getSize_(t){return-1===t?0:this.m_treapData.getField(t,4)}getTreapData_(t){return this.m_treapData.getField(t,5)}newNode_(t){const e=this.m_treapData.newElement();return this.setPriority_(e,this.generatePriority_()),this.setElement_(e,t),e}freeNode_(t,e){t!==pt.st_nullNode()&&this.m_treapData.deleteElement(t)}generatePriority_(){return this.m_random=u(this.m_random),this.m_random&d()>>1}maxPriority(){return p(0),0}getMaxDepthHelper_(t){return t===pt.st_nullNode()?0:1+Math.max(this.getMaxDepthHelper_(this.getLeft(t)),this.getMaxDepthHelper_(this.getRight(t)))}addElement_(t,e,s){if(this.getRoot(s)===pt.st_nullNode()){const e=this.newNode_(t);return this.setRoot_(e,s),this.addToList_(-1,e,s),this.m_maxDepthEver=Math.max(this.m_maxDepthEver,1),e}let i=this.getRoot_(s),n=-1,r=-1,o=1;for(;;){const a=-1===e?1:this.m_comparator.compare(this,t,i);if(a<0){const e=this.getLeft(i);if(e===pt.st_nullNode()){r=i,n=this.newNode_(t),this.setLeft_(i,n),this.setParent_(n,i);break}i=e}else{if(1===e&&0===a)return this.m_comparator.onAddUniqueElementFailedImpl(t),this.setDuplicateElement_(i,s),-1;const o=this.getRight(i);if(o===pt.st_nullNode()){r=this.getNext(i),n=this.newNode_(t),this.setRight_(i,n),this.setParent_(n,i);break}i=o}o++}return this.bubbleUp_(n),this.getParent(n)===pt.st_nullNode()&&this.setRoot_(n,s),this.addToList_(r,n,s),this.m_maxDepthEver=Math.max(o,this.m_maxDepthEver),n}removeFromList_(t,e){const s=this.getPrev(t),i=this.getNext(t);-1!==s?this.setNext_(s,i):this.setFirst_(i,e),-1!==i?this.setPrev_(i,s):this.setLast_(s,e),this.setSize_(this.getSize_(e)-1,e)}unbalancedDelete_(t,e){this.removeFromList_(t,e);let s=this.getLeft(t),i=this.getRight(t),n=this.getParent(t),r=t;if(-1!==s&&-1!==i){let o;this.m_random=u(this.m_random),o=this.m_random>d()>>1?this.getNext(t):this.getPrev(t);const a=this.getParent(o)===t;this.m_treapData.swapField(t,o,0),this.m_treapData.swapField(t,o,1),this.m_treapData.swapField(t,o,2),-1!==n?this.getLeft(n)===t?this.setLeft_(n,o):this.setRight_(n,o):this.setRoot_(o,e),a?(s===o?(this.setLeft_(o,t),this.setParent_(i,o)):i===o&&(this.setRight_(o,t),this.setParent_(s,o)),this.setParent_(t,o),n=o):(this.setParent_(s,o),this.setParent_(i,o),n=this.getParent(t),r=o),s=this.getLeft(t),i=this.getRight(t),-1!==s&&this.setParent_(s,t),-1!==i&&this.setParent_(i,t)}const o=-1!==s?s:i;-1===n?this.setRoot_(o,e):this.getLeft(n)===r?this.setLeft_(n,o):this.setRight_(n,o),-1!==o&&this.setParent_(o,n),this.freeNode_(t,e)}deleteNode_(t,e){this.setPriority_(t,d());let s=pt.st_nullNode(),i=pt.st_nullNode();const n=this.getRoot_(e),r=n===t;if(r&&(s=this.getLeft(n),i=this.getRight(n),s===pt.st_nullNode()&&i===pt.st_nullNode()))return this.removeFromList_(n,e),this.freeNode_(n,e),void this.setRoot_(pt.st_nullNode(),e);this.bubbleDown_(t);const o=this.getParent(t);o!==pt.st_nullNode()&&(this.getLeft(o)===t?this.setLeft_(o,pt.st_nullNode()):this.setRight_(o,pt.st_nullNode())),this.removeFromList_(t,e),this.freeNode_(t,e),r&&this.setRoot_(s===pt.st_nullNode()||this.getParent(s)!==pt.st_nullNode()?i:s,e)}setElement_(t,e){this.m_treapData.setField(t,3,e)}addBiggestElement_(t,e){if(this.getRoot_(e)===pt.st_nullNode())return this.setRoot_(t,e),void this.addToList_(-1,t,e);const s=this.getLast_(e);this.setRight_(s,t),this.setParent_(t,s),this.bubbleUp_(t),this.getParent(t)===pt.st_nullNode()&&this.setRoot_(t,e),this.addToList_(-1,t,e)}}class gt{m_listNodes;m_lists;m_listOfLists;m_bStoreListIndexWithNode;constructor(t){this.m_lists=new mt(6),this.m_listOfLists=gt.st_nullNode(),void 0===t?(this.m_listNodes=new mt(3),this.m_bStoreListIndexWithNode=!1):(this.m_listNodes=new mt(t?4:3),this.m_bStoreListIndexWithNode=t)}freeNode_(t){this.m_listNodes.deleteElement(t)}newNode_(){return this.m_listNodes.newElement()}freeList_(t){p(0)}newList_(){return this.m_lists.newElement()}setPrev_(t,e){this.m_listNodes.setField(t,1,e)}setNext_(t,e){this.m_listNodes.setField(t,2,e)}setData_(t,e){p(0)}setList_(t,e){return this.m_listNodes.setField(t,3,e)}setListSize_(t,e){this.m_lists.setField(t,4,e)}setNextList_(t,e){p(0)}setPrevList_(t,e){this.m_lists.setField(t,2,e)}createList(t){const e=this.newList_();return this.m_lists.setField(e,3,this.m_listOfLists),this.m_lists.setField(e,4,0),this.m_lists.setField(e,5,t),this.m_listOfLists!==gt.st_nullNode()&&this.setPrevList_(this.m_listOfLists,e),this.m_listOfLists=e,e}deleteList(t){this.clear(t);const e=this.m_lists.getField(t,2),s=this.m_lists.getField(t,3);return e!==gt.st_nullNode()?this.setNextList_(e,s):this.m_listOfLists=s,s!==gt.st_nullNode()&&this.setPrevList_(s,e),this.freeList_(t),s}reserveLists(t){p(0)}getListData(t){return this.m_lists.getField(t,5)}getList(t){return p(0),0}setListData(t,e){this.m_lists.setField(t,5,e)}addElement(t,e){return this.insertElement(t,-1,e)}insertElement(t,e,s){const i=this.newNode_();let n=-1;e!==gt.st_nullNode()&&(n=this.getPrev(e),this.setPrev_(e,i)),this.setNext_(i,e),n!==gt.st_nullNode()&&this.setNext_(n,i);if(e===this.m_lists.getField(t,0)&&this.m_lists.setField(t,0,i),e===gt.st_nullNode()){const e=this.m_lists.getField(t,1);this.setPrev_(i,e),-1!==e&&this.setNext_(e,i),this.m_lists.setField(t,1,i)}return this.setData(i,s),this.setListSize_(t,this.getListSize(t)+1),this.m_bStoreListIndexWithNode&&this.setList_(i,t),i}deleteElement(t,e){const s=this.getPrev(e),i=this.getNext(e);return s!==gt.st_nullNode()?this.setNext_(s,i):this.m_lists.setField(t,0,i),i!==gt.st_nullNode()?this.setPrev_(i,s):this.m_lists.setField(t,1,s),this.freeNode_(e),this.setListSize_(t,this.getListSize(t)-1),i}reserveNodes(t){this.m_listNodes.setCapacity(t)}getData(t){return this.m_listNodes.getField(t,0)}getElement(t){return this.getData(t)}setData(t,e){this.m_listNodes.setField(t,0,e)}getNext(t){return this.m_listNodes.getField(t,2)}getPrev(t){return this.m_listNodes.getField(t,1)}getFirst(t){return this.m_lists.getField(t,0)}getLast(t){return this.m_lists.getField(t,1)}static st_nullNode(){return-1}clear(t){if(void 0!==t){let e=this.getLast(t);for(;e!==gt.st_nullNode();){const t=e;e=this.getPrev(t),this.freeNode_(t)}return this.m_lists.setField(t,0,-1),this.m_lists.setField(t,1,-1),void this.setListSize_(t,0)}for(let e=this.getFirstList();-1!==e;)e=this.deleteList(e)}isEmpty(t){return p(0),!1}getNodeCount(){return this.m_listNodes.size()}getListCount(){return this.m_lists.size()}getListSize(t){return this.m_lists.getField(t,4)}getFirstList(){return this.m_listOfLists}getNextList(t){return this.m_lists.getField(t,3)}}class ft extends ct{m_intervalTree;constructor(t){super(),this.m_intervalTree=t}compare(t,e,s){const i=t.getElement(s),n=this.m_intervalTree.getValue_(e),r=this.m_intervalTree.getValue_(i);return n<r?-1:n===r?vt.isLeft_(e)&&vt.isRight_(i)?-1:vt.isLeft_(i)&&vt.isRight_(e)?1:0:1}}class vt{m_bEnvelopesRef=!1;m_bOfflineDynamic;m_intervals=[];m_envelopesRef=null;m_tertiaryNodes;m_intervalNodes=new mt(3);m_intervalHandles=[];m_secondaryLists;m_secondaryTreaps;m_endIndicesUnique=[];m_cCount=-1;m_root=-1;m_bSortIntervals=!1;m_bConstructing=!1;m_bConstructionEnded=!1;constructor(t){this.m_bOfflineDynamic=t,this.m_tertiaryNodes=new mt(this.m_bOfflineDynamic?5:4),this.m_secondaryTreaps=new pt,this.m_secondaryTreaps.setComparator(new ft(this)),this.m_secondaryLists=new gt}addEnvelopesRef(t){this.reset_(!0,!0),this.m_bEnvelopesRef=!0,this.m_envelopesRef=t,this.m_bConstructing=!1,this.m_bConstructionEnded=!0,this.m_bOfflineDynamic||(this.insertIntervalsStatic_(),this.m_cCount=this.m_envelopesRef.length)}startConstruction(){this.reset_(!0,!1)}addInterval(t){this.m_bConstructing||E(""),this.m_intervals.push(t.clone())}addIntervalCoords(t,e){p(0)}endConstruction(){this.m_bConstructing||E(""),this.m_bConstructing=!1,this.m_bConstructionEnded=!0,this.m_bOfflineDynamic||(this.insertIntervalsStatic_(),this.m_cCount=this.m_intervals.length)}insert(t){if(this.m_bOfflineDynamic&&this.m_bConstructionEnded||E(""),-1===this.m_root){const t=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length;if(this.m_bSortIntervals){const e=new st(0);this.querySortedEndPointIndices_(e),this.m_endIndicesUnique.length=0,this.querySortedDuplicatesRemoved_(e),this.m_intervalHandles.length=t,this.m_intervalHandles.fill(-1),this.m_bSortIntervals=!1}else this.m_intervalHandles.fill(-1,0,t);this.m_root=this.createRoot_()}const e=this.insertIntervalEnd_(t<<1,this.m_root),s=this.getSecondaryFromInterval_(e),i=this.m_secondaryTreaps.addElement(1+(t<<1),s);this.setRightEnd_(e,i),this.m_intervalHandles[t]=e,this.m_cCount++}remove(t){this.m_bOfflineDynamic&&this.m_bConstructionEnded||E("");const e=this.m_intervalHandles[t];let s;-1===e&&g("the interval does not exist in the interval tree"),this.m_intervalHandles[t]=-1,this.m_cCount--;let i=this.getSecondaryFromInterval_(e),n=-1;n=this.m_secondaryTreaps.getTreapData(i),this.m_secondaryTreaps.deleteNode(this.getLeftEnd_(e),i),this.m_secondaryTreaps.deleteNode(this.getRightEnd_(e),i),s=this.m_secondaryTreaps.size(i),0===s&&(this.m_secondaryTreaps.deleteTreap(i),this.setSecondaryToTertiary_(n,-1)),this.m_intervalNodes.deleteElement(e);let r=this.getPptr_(n),o=this.getLptr_(n),a=this.getRptr_(n);for(;!(s>0||n===this.m_root||-1!==o&&-1!==a);)n===this.getLptr_(r)?-1!==o?(this.setLptr_(r,o),this.setPptr_(o,r),this.setLptr_(n,-1),this.setPptr_(n,-1)):-1!==a?(this.setLptr_(r,a),this.setPptr_(a,r),this.setRptr_(n,-1),this.setPptr_(n,-1)):(this.setLptr_(r,-1),this.setPptr_(n,-1)):-1!==o?(this.setRptr_(r,o),this.setPptr_(o,r),this.setLptr_(n,-1),this.setPptr_(n,-1)):-1!==a?(this.setRptr_(r,a),this.setPptr_(a,r),this.setRptr_(n,-1),this.setPptr_(n,-1)):(this.setRptr_(r,-1),this.setPptr_(n,-1)),this.m_tertiaryNodes.deleteElement(n),n=r,i=this.getSecondaryFromTertiary_(n),s=-1!==i?this.m_secondaryTreaps.size(i):0,o=this.getLptr_(n),a=this.getRptr_(n),r=this.getPptr_(n)}size(){return this.m_cCount}getIteratorQuery(t,e){return t instanceof r?new yt(this,t,e):(p(0),{})}getIterator(){return new yt(this)}querySortedEndPointIndices_(t){const e=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length;for(let s=0;s<2*e;s++)t.add(s);this.sortEndIndices_(t,0,2*e)}querySortedDuplicatesRemoved_(t){let e=Number.NaN;for(let s=0;s<t.size();s++){const i=t.read(s),n=this.getValue_(i);n!==e&&(this.m_endIndicesUnique.push(i),e=n)}}insertIntervalsStatic_(){const t=this.m_bEnvelopesRef?this.m_envelopesRef.length:this.m_intervals.length,s=new st(0);this.querySortedEndPointIndices_(s),this.m_endIndicesUnique.length=0,this.querySortedDuplicatesRemoved_(s),this.m_intervalNodes.setCapacity(t),this.m_secondaryLists.reserveNodes(2*t);const i=e(t,-1);this.m_root=this.createRoot_();for(let e=0;e<s.size();e++){const t=s.read(e);let n=i[t>>1];if(-1!==n){const e=this.getSecondaryFromInterval_(n);this.setRightEnd_(n,this.m_secondaryLists.addElement(e,t))}else n=this.insertIntervalEnd_(t,this.m_root),i[t>>1]=n}}createRoot_(){const t=this.calculateDiscriminantIndex1_(0,this.m_endIndicesUnique.length-1);return this.createTertiaryNode_(t)}insertIntervalEnd_(t,e){let s=-1,i=e,n=-1,r=-1,o=0,a=this.m_endIndicesUnique.length-1,h=0;const m=t>>1;let _=Number.NaN,l=Number.NaN,u=!0;const d=this.getMin_(m),c=this.getMax_(m);let p=-1;for(;u;){h=o+(a-o>>1),p=this.calculateDiscriminantIndex1_(o,a);const e=this.getDiscriminantFromIndex1_(p);if(c<e){if(-1!==i)if(p===this.getDiscriminantIndex1_(i))s=i,_=e,i=this.getLptr_(i),l=-1!==i?this.getDiscriminant_(i):Number.NaN;else if(l>e){const t=this.createTertiaryNode_(p);e<_?this.setLptr_(s,t):this.setRptr_(s,t),this.setRptr_(t,i),this.m_bOfflineDynamic&&(this.setPptr_(t,s),this.setPptr_(i,t)),s=t,_=e,i=-1,l=Number.NaN}a=h;continue}if(d>e){if(-1!==i)if(p===this.getDiscriminantIndex1_(i))s=i,_=e,i=this.getRptr_(i),l=-1!==i?this.getDiscriminant_(i):Number.NaN;else if(l<e){const t=this.createTertiaryNode_(p);e<_?this.setLptr_(s,t):this.setRptr_(s,t),this.setLptr_(t,i),this.m_bOfflineDynamic&&(this.setPptr_(t,s),this.setPptr_(i,t)),s=t,_=e,i=-1,l=Number.NaN}o=h+1;continue}let m=-1;m=-1===i||p!==this.getDiscriminantIndex1_(i)?this.createTertiaryNode_(p):i,n=this.getSecondaryFromTertiary_(m),-1===n&&(n=this.createSecondary_(m),this.setSecondaryToTertiary_(m,n));const g=this.addEndIndex_(n,t);r=this.createIntervalNode_(),this.setSecondaryToInterval_(r,n),this.setLeftEnd_(r,g),-1!==i&&p===this.getDiscriminantIndex1_(i)||(e<_?this.setLptr_(s,m):this.setRptr_(s,m),this.m_bOfflineDynamic&&this.setPptr_(m,s),-1!==i&&(l<e?this.setLptr_(m,i):this.setRptr_(m,i),this.m_bOfflineDynamic&&this.setPptr_(i,m))),u=!1;break}return r}createTertiaryNode_(t){const e=this.m_tertiaryNodes.newElement();return this.setDiscriminantIndex1_(e,t),e}createSecondary_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.createTreap(t):this.m_secondaryLists.createList(t)}createIntervalNode_(){return this.m_intervalNodes.newElement()}reset(){this.m_bOfflineDynamic&&this.m_bConstructionEnded||E(""),this.reset_(!1,this.m_bEnvelopesRef)}reset_(t,e){t?(this.m_bEnvelopesRef=!1,this.m_envelopesRef=null,this.m_bSortIntervals=!0,this.m_bConstructing=!0,this.m_bConstructionEnded=!1,this.m_endIndicesUnique.length=0,e?(this.m_intervals.length=0,this.m_bEnvelopesRef=!0):this.m_intervals.length=0):this.m_bSortIntervals=!1,this.m_bOfflineDynamic?this.m_secondaryTreaps.clear():this.m_secondaryLists.clear(),this.m_intervalNodes.deleteAll(!1),this.m_tertiaryNodes.deleteAll(!1),this.m_root=-1,this.m_cCount=0}getDiscriminant_(t){const e=this.getDiscriminantIndex1_(t);return this.getDiscriminantFromIndex1_(e)}getDiscriminantFromIndex1_(t){if(-1===t)return Number.NaN;if(t>0){const e=t-2,s=this.m_endIndicesUnique[e],i=this.m_endIndicesUnique[e+1];return.5*(this.getValue_(s)+this.getValue_(i))}const e=-t-2,s=this.m_endIndicesUnique[e];return this.getValue_(s)}calculateDiscriminantIndex1_(t,e){let s;if(t<e){s=t+(e-t>>1)+2}else s=-(t+2);return s}setDiscriminantIndex1_(t,e){this.m_tertiaryNodes.setField(t,0,e)}setSecondaryToTertiary_(t,e){this.m_tertiaryNodes.setField(t,1,e)}setLptr_(t,e){this.m_tertiaryNodes.setField(t,2,e)}setRptr_(t,e){this.m_tertiaryNodes.setField(t,3,e)}setPptr_(t,e){this.m_tertiaryNodes.setField(t,4,e)}setSecondaryToInterval_(t,e){this.m_intervalNodes.setField(t,0,e)}addEndIndex_(t,e){let s=-1;return s=this.m_bOfflineDynamic?this.m_secondaryTreaps.addElement(e,t):this.m_secondaryLists.addElement(t,e),s}setLeftEnd_(t,e){this.m_intervalNodes.setField(t,1,e)}setRightEnd_(t,e){this.m_intervalNodes.setField(t,2,e)}getFirst_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.getFirst(t):this.m_secondaryLists.getFirst(t)}getLast_(t){return this.m_bOfflineDynamic?this.m_secondaryTreaps.getLast(t):this.m_secondaryLists.getLast(t)}static isLeft_(t){return!(1&t)}static isRight_(t){return!(1&~t)}getDiscriminantIndex1_(t){return this.m_tertiaryNodes.getField(t,0)}getSecondaryFromTertiary_(t){return this.m_tertiaryNodes.getField(t,1)}getLptr_(t){return this.m_tertiaryNodes.getField(t,2)}getRptr_(t){return this.m_tertiaryNodes.getField(t,3)}getPptr_(t){return this.m_tertiaryNodes.getField(t,4)}getSecondaryFromInterval_(t){return this.m_intervalNodes.getField(t,0)}getLeftEnd_(t){return this.m_intervalNodes.getField(t,1)}getRightEnd_(t){return this.m_intervalNodes.getField(t,2)}getMin_(t){return this.m_bEnvelopesRef?this.m_envelopesRef[t].xmin:this.m_intervals[t].vmin}getMax_(t){return this.m_bEnvelopesRef?this.m_envelopesRef[t].xmax:this.m_intervals[t].vmax}sortEndIndices_(t,e,s){const i=this,n={userSort(t,e,s){i.sortEndIndicesHelper_(s,t,e)},getValue:t=>i.getValue_(t)};(new ht).sort(t,e,s,n)}sortEndIndicesHelper_(t,e,s){t.sort(e,s,(t,e)=>{const s=this.getValue_(t),i=this.getValue_(e);return s<i||s===i&&vt.isLeft_(t)&&vt.isRight_(e)?-1:1})}getValue_(t){if(!this.m_bEnvelopesRef){const e=this.m_intervals[t>>1];return vt.isLeft_(t)?e.vmin:e.vmax}const e=this.m_envelopesRef[t>>1];return vt.isLeft_(t)?e.xmin:e.xmax}}class yt{m_intervalTree;m_query=r.constructEmpty();m_tertiaryHandle=-1;m_nextTertiaryHandle=-1;m_forkedHandle=-1;m_currentEndHandle=-1;m_nextEndHandle=-1;m_tertiaryStack=[];m_functionIndex=0;m_functionStack;m_fi;constructor(t,e,s){this.m_intervalTree=t,this.m_functionStack=new Array(2),this.m_functionStack[0]=this.nullFunc_,this.m_functionStack[1]=this.nullFunc_,void 0!==e&&this.resetIterator(e,s)}nullFunc_(){return b("should not be called"),!1}resetIterator(t,e){if("number"==typeof t){const s=new r;s.setCoords(t,t),this.resetIterator(s,e)}else void 0===e&&(e=0),this.m_query.vmin=t.vmin-e,this.m_query.vmax=t.vmax+e,this.m_tertiaryStack.length=0,this.m_functionIndex=0,this.m_functionStack[0]=this.initialize_}next(){if(this.m_intervalTree.m_bConstructionEnded||E(""),this.m_functionIndex<0)return-1;for(;this.m_fi=this.m_functionStack[this.m_functionIndex],this.m_fi(););return-1!==this.m_currentEndHandle?this.getCurrentEndIndex_()>>1:-1}initialize_(){return this.m_tertiaryHandle=-1,this.m_nextTertiaryHandle=-1,this.m_forkedHandle=-1,this.m_currentEndHandle=-1,this.m_intervalTree.m_tertiaryNodes.size()>0?(this.m_functionStack[0]=this.pIn_,this.m_nextTertiaryHandle=this.m_intervalTree.m_root,!0):(this.m_functionIndex=-1,!1)}pIn_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionIndex=-1,this.m_currentEndHandle=-1,!1;const t=this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle);if(this.m_query.vmax<t){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.left_),!0}if(t<this.m_query.vmin){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getLast_(t),this.m_functionStack[++this.m_functionIndex]=this.right_),!0}this.m_functionStack[this.m_functionIndex]=this.pL_,this.m_forkedHandle=this.m_tertiaryHandle;const e=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==e&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(e),this.m_functionStack[++this.m_functionIndex]=this.all_),!0}pL_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionStack[this.m_functionIndex]=this.pR_,this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_forkedHandle),!0;if(this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle)<this.m_query.vmin){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getLast_(t),this.m_functionStack[++this.m_functionIndex]=this.right_),!0}const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.all_);const e=this.m_intervalTree.getRptr_(this.m_tertiaryHandle);return-1!==e&&this.m_tertiaryStack.push(e),!0}pR_(){if(this.m_tertiaryHandle=this.m_nextTertiaryHandle,-1===this.m_tertiaryHandle)return this.m_functionStack[this.m_functionIndex]=this.pT_,!0;const t=this.m_intervalTree.getDiscriminant_(this.m_tertiaryHandle);if(this.m_query.vmax<t){const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return this.m_nextTertiaryHandle=this.m_intervalTree.getLptr_(this.m_tertiaryHandle),-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.left_),!0}const e=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);this.m_nextTertiaryHandle=this.m_intervalTree.getRptr_(this.m_tertiaryHandle),-1!==e&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(e),this.m_functionStack[++this.m_functionIndex]=this.all_);const s=this.m_intervalTree.getLptr_(this.m_tertiaryHandle);return-1!==s&&this.m_tertiaryStack.push(s),!0}pT_(){if(0===this.m_tertiaryStack.length)return this.m_functionIndex=-1,this.m_currentEndHandle=-1,!1;this.m_tertiaryHandle=this.m_tertiaryStack.at(-1),this.m_tertiaryStack.pop();const t=this.m_intervalTree.getSecondaryFromTertiary_(this.m_tertiaryHandle);return-1!==t&&(this.m_nextEndHandle=this.m_intervalTree.getFirst_(t),this.m_functionStack[++this.m_functionIndex]=this.all_),-1!==this.m_intervalTree.getLptr_(this.m_tertiaryHandle)&&this.m_tertiaryStack.push(this.m_intervalTree.getLptr_(this.m_tertiaryHandle)),-1!==this.m_intervalTree.getRptr_(this.m_tertiaryHandle)&&this.m_tertiaryStack.push(this.m_intervalTree.getRptr_(this.m_tertiaryHandle)),!0}left_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&vt.isLeft_(this.getCurrentEndIndex_())&&this.m_intervalTree.getValue_(this.getCurrentEndIndex_())<=this.m_query.vmax?(this.m_nextEndHandle=this.getNext_(),!1):(this.m_functionIndex--,!0)}right_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&vt.isRight_(this.getCurrentEndIndex_())&&this.m_intervalTree.getValue_(this.getCurrentEndIndex_())>=this.m_query.vmin?(this.m_nextEndHandle=this.getPrev_(),!1):(this.m_functionIndex--,!0)}all_(){return this.m_currentEndHandle=this.m_nextEndHandle,-1!==this.m_currentEndHandle&&vt.isLeft_(this.getCurrentEndIndex_())?(this.m_nextEndHandle=this.getNext_(),!1):(this.m_functionIndex--,!0)}getNext_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getNext(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getNext(this.m_currentEndHandle)}getPrev_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getPrev(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getPrev(this.m_currentEndHandle)}getCurrentEndIndex_(){return this.m_intervalTree.m_bOfflineDynamic?this.m_intervalTree.m_secondaryTreaps.getElement(this.m_currentEndHandle):this.m_intervalTree.m_secondaryLists.getData(this.m_currentEndHandle)}}class xt{m_tolerance=0;m_sweepIndexRed=-1;m_sweepIndexBlue=-1;m_envelopeHandleA=-1;m_envelopeHandleB=-1;m_intervalTreeRed=null;m_intervalTreeBlue=null;m_iteratorRed=null;m_iteratorBlue=null;m_envelopesRed=[];m_envelopesBlue=[];m_elementsRed=[];m_elementsBlue=[];m_sortedEndIndicesRed=new st(0);m_sortedEndIndicesBlue=new st(0);m_queuedListRed=-1;m_queuedListBlue=-1;m_queuedEnvelopes=new gt;m_queuedIndicesRed=[];m_queuedIndicesBlue=[];m_bAddRed=!1;m_bAddBlue=!1;m_bAddRedRed=!1;m_bDone=!0;m_function;constructor(){this.m_function=this.nullFunc_,this.reset_()}startConstruction(){this.reset_(),this.m_bAddRedRed=!0,this.m_elementsRed.length=0,this.m_envelopesRed.length=0}addEnvelope(t,e){this.m_bAddRedRed||E(""),this.m_elementsRed.push(t),this.m_envelopesRed.push(new I(e))}endConstruction(){this.m_bAddRedRed||E(""),this.m_bAddRedRed=!1,this.m_envelopesRed.length>0&&(this.m_function=this.initialize_,this.m_bDone=!1)}startRedConstruction(){this.reset_(),this.m_bAddRed=!0,this.m_elementsRed.length=0,this.m_envelopesRed.length=0}addRedEnvelope(t,e){this.m_bAddRed||E(""),this.m_elementsRed.push(t),this.m_envelopesRed.push(e.clone())}endRedConstruction(){this.m_bAddRed||E(""),this.m_bAddRed=!1,this.m_envelopesRed.length>0&&this.m_envelopesBlue.length>0&&(this.m_function===this.nullFunc_||this.m_function===this.initializeBlue_?this.m_function=this.initializeRedBlue_:this.m_function!==this.initializeRedBlue_&&(this.m_function=this.initializeRed_),this.m_bDone=!1)}startBlueConstruction(){this.reset_(),this.m_bAddBlue=!0,this.m_elementsBlue.length=0,this.m_envelopesBlue.length=0}addBlueEnvelope(t,e){this.m_bAddBlue||E(""),this.m_elementsBlue.push(t),this.m_envelopesBlue.push(e.clone())}endBlueConstruction(){this.m_bAddBlue||E(""),this.m_bAddBlue=!1,this.m_envelopesRed.length>0&&this.m_envelopesBlue.length>0&&(this.m_function===this.nullFunc_||this.m_function===this.initializeRed_?this.m_function=this.initializeRedBlue_:this.m_function!==this.initializeRedBlue_&&(this.m_function=this.initializeBlue_),this.m_bDone=!1)}next(){if(this.m_bDone)return!1;for(;this.m_function(););return!this.m_bDone}getHandleA(){return this.m_envelopeHandleA}getHandleB(){return this.m_envelopeHandleB}setTolerance(t){this.m_tolerance=t}getElement(t){return this.m_elementsRed[t]}getRedEnvelope(t){return this.m_envelopesRed[t]}getBlueEnvelope(t){return this.m_envelopesBlue[t]}getRedElement(t){return this.m_elementsRed[t]}getBlueElement(t){return this.m_elementsBlue[t]}isTop_(t){return!(1&~t)}isBottom_(t){return!(1&t)}reset_(){this.m_bAddRed=!1,this.m_bAddBlue=!1,this.m_bAddRedRed=!1,this.m_sweepIndexRed=-1,this.m_sweepIndexBlue=-1,this.m_queuedListRed=-1,this.m_queuedListBlue=-1,this.m_bDone=!0}initialize_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new vt(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),this.m_sortedEndIndicesRed.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,2*this.m_envelopesRed.length,!0),this.m_sweepIndexRed=2*this.m_envelopesRed.length,this.m_function=this.sweep_,!0}initializeRed_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new vt(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),this.m_sortedEndIndicesRed.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,this.m_sortedEndIndicesRed.size(),!0),this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),this.m_function=this.sweepRedBlue_,this.resetBlue_()}initializeBlue_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeBlue||(this.m_intervalTreeBlue=new vt(!0)),this.m_intervalTreeBlue.addEnvelopesRef(this.m_envelopesBlue),null==this.m_iteratorBlue&&(this.m_iteratorBlue=this.m_intervalTreeBlue.getIterator()),this.m_sortedEndIndicesBlue.resize(0);for(let t=0;t<2*this.m_envelopesBlue.length;t++)this.m_sortedEndIndicesBlue.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesBlue,0,this.m_sortedEndIndicesBlue.size(),!1),this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_function=this.sweepRedBlue_,this.resetRed_()}initializeRedBlue_(){if(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_envelopesRed.length<10||this.m_envelopesBlue.length<10)return this.m_sweepIndexRed=this.m_envelopesRed.length,this.m_function=this.sweepRedBlueBruteForce_,!0;this.m_intervalTreeRed||(this.m_intervalTreeRed=new vt(!0)),this.m_intervalTreeBlue||(this.m_intervalTreeBlue=new vt(!0)),this.m_intervalTreeRed.addEnvelopesRef(this.m_envelopesRed),this.m_intervalTreeBlue.addEnvelopesRef(this.m_envelopesBlue),null===this.m_iteratorRed&&(this.m_iteratorRed=this.m_intervalTreeRed.getIterator()),null===this.m_iteratorBlue&&(this.m_iteratorBlue=this.m_intervalTreeBlue.getIterator()),this.m_sortedEndIndicesRed.resize(0),this.m_sortedEndIndicesBlue.resize(0);for(let t=0;t<2*this.m_envelopesRed.length;t++)this.m_sortedEndIndicesRed.add(t);for(let t=0;t<2*this.m_envelopesBlue.length;t++)this.m_sortedEndIndicesBlue.add(t);return this.sortYEndIndices_(this.m_sortedEndIndicesRed,0,this.m_sortedEndIndicesRed.size(),!0),this.sortYEndIndices_(this.m_sortedEndIndicesBlue,0,this.m_sortedEndIndicesBlue.size(),!1),this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_function=this.sweepRedBlue_,!0}sweep_(){const t=this.m_sortedEndIndicesRed.read(--this.m_sweepIndexRed),e=t>>1;if(this.isBottom_(t))return this.m_intervalTreeRed.remove(e),0!==this.m_sweepIndexRed||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);const s=r.construct(this.m_envelopesRed[e].xmin,this.m_envelopesRed[e].xmax);return this.m_iteratorRed.resetIterator(s,this.m_tolerance),this.m_envelopeHandleA=e,this.m_function=this.iterate_,!0}sweepBruteForce_(){return-1===--this.m_sweepIndexRed?(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1):(this.m_envelopeHandleA=this.m_sweepIndexRed,this.m_sweepIndexBlue=this.m_sweepIndexRed,this.m_function=this.iterateBruteForce_,!0)}sweepRedBlueBruteForce_(){return-1===--this.m_sweepIndexRed?(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1):(this.m_envelopeHandleA=this.m_sweepIndexRed,this.m_sweepIndexBlue=this.m_envelopesBlue.length,this.m_function=this.iterateRedBlueBruteForce_,!0)}sweepRedBlue_(){const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed-1),e=this.m_sortedEndIndicesBlue.read(this.m_sweepIndexBlue-1),s=this.getAdjustedValue_(t,!0),i=this.getAdjustedValue_(e,!1);return s>i?this.sweepRed_():s<i?this.sweepBlue_():this.isTop_(t)?this.sweepRed_():this.isTop_(e)?this.sweepBlue_():this.sweepRed_()}sweepRed_(){const t=this.m_sortedEndIndicesRed.read(--this.m_sweepIndexRed),e=t>>1;if(this.isBottom_(t))return-1!==this.m_queuedListRed&&-1!==this.m_queuedIndicesRed[e]?(this.m_queuedEnvelopes.deleteElement(this.m_queuedListRed,this.m_queuedIndicesRed[e]),this.m_queuedIndicesRed[e]=-1):this.m_intervalTreeRed.remove(e),0!==this.m_sweepIndexRed||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);if(-1!==this.m_queuedListBlue&&this.m_queuedEnvelopes.getListSize(this.m_queuedListBlue)>0){let t=this.m_queuedEnvelopes.getFirst(this.m_queuedListBlue);for(;-1!==t;){const e=this.m_queuedEnvelopes.getData(t);this.m_intervalTreeBlue.insert(e),this.m_queuedIndicesBlue[e]=-1;const s=this.m_queuedEnvelopes.getNext(t);this.m_queuedEnvelopes.deleteElement(this.m_queuedListBlue,t),t=s}}if(this.m_intervalTreeBlue.size()>0){const t=r.construct(this.m_envelopesRed[e].xmin,this.m_envelopesRed[e].xmax);this.m_iteratorBlue.resetIterator(t,this.m_tolerance),this.m_envelopeHandleA=e,this.m_function=this.iterateBlue_}else-1===this.m_queuedListRed&&(c(this.m_queuedIndicesRed,this.m_envelopesRed.length,-1),this.m_queuedListRed=this.m_queuedEnvelopes.createList(1)),this.m_queuedIndicesRed[e]=this.m_queuedEnvelopes.addElement(this.m_queuedListRed,e),this.m_function=this.sweepRedBlue_;return!0}sweepBlue_(){const t=this.m_sortedEndIndicesBlue.read(--this.m_sweepIndexBlue),e=t>>1;if(this.isBottom_(t))return-1!==this.m_queuedListBlue&&-1!==this.m_queuedIndicesBlue[e]?(this.m_queuedEnvelopes.deleteElement(this.m_queuedListBlue,this.m_queuedIndicesBlue[e]),this.m_queuedIndicesBlue[e]=-1):this.m_intervalTreeBlue.remove(e),0!==this.m_sweepIndexBlue||(this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1,this.m_bDone=!0,!1);if(-1!==this.m_queuedListRed&&this.m_queuedEnvelopes.getListSize(this.m_queuedListRed)>0){let t=this.m_queuedEnvelopes.getFirst(this.m_queuedListRed);for(;-1!==t;){const e=this.m_queuedEnvelopes.getData(t);this.m_intervalTreeRed.insert(e),this.m_queuedIndicesRed[e]=-1;const s=this.m_queuedEnvelopes.getNext(t);this.m_queuedEnvelopes.deleteElement(this.m_queuedListRed,t),t=s}}if(this.m_intervalTreeRed.size()>0){const t=r.construct(this.m_envelopesBlue[e].xmin,this.m_envelopesBlue[e].xmax);this.m_iteratorRed.resetIterator(t,this.m_tolerance),this.m_envelopeHandleB=e,this.m_function=this.iterateRed_}else-1===this.m_queuedListBlue&&(c(this.m_queuedIndicesBlue,this.m_envelopesBlue.length,-1),this.m_queuedListBlue=this.m_queuedEnvelopes.createList(0)),this.m_queuedIndicesBlue[e]=this.m_queuedEnvelopes.addElement(this.m_queuedListBlue,e),this.m_function=this.sweepRedBlue_;return!0}iterate_(){if(this.m_envelopeHandleB=this.m_iteratorRed.next(),-1!==this.m_envelopeHandleB)return!1;const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed)>>1;return this.m_intervalTreeRed.insert(t),this.m_function=this.sweep_,!0}iterateRed_(){if(this.m_envelopeHandleA=this.m_iteratorRed.next(),-1!==this.m_envelopeHandleA)return!1;this.m_envelopeHandleA=-1,this.m_envelopeHandleB=-1;const t=this.m_sortedEndIndicesBlue.read(this.m_sweepIndexBlue)>>1;return this.m_intervalTreeBlue.insert(t),this.m_function=this.sweepRedBlue_,!0}iterateBlue_(){if(this.m_envelopeHandleB=this.m_iteratorBlue.next(),-1!==this.m_envelopeHandleB)return!1;const t=this.m_sortedEndIndicesRed.read(this.m_sweepIndexRed)>>1;return this.m_intervalTreeRed.insert(t),this.m_function=this.sweepRedBlue_,!0}iterateBruteForce_(){if(-1===--this.m_sweepIndexBlue)return this.m_function=this.sweepBruteForce_,!0;const t=this.m_envelopesRed[this.m_sweepIndexRed].clone(),e=this.m_envelopesRed[this.m_sweepIndexBlue];return t.inflateCoords(this.m_tolerance,this.m_tolerance),!t.isIntersecting(e)||(this.m_envelopeHandleB=this.m_sweepIndexBlue,!1)}iterateRedBlueBruteForce_(){if(-1===--this.m_sweepIndexBlue)return this.m_function=this.sweepRedBlueBruteForce_,!0;const t=this.m_envelopesRed[this.m_sweepIndexRed].clone(),e=this.m_envelopesBlue[this.m_sweepIndexBlue];return t.inflateCoords(this.m_tolerance,this.m_tolerance),!t.isIntersecting(e)||(this.m_envelopeHandleB=this.m_sweepIndexBlue,!1)}resetRed_(){return this.m_sweepIndexRed=this.m_sortedEndIndicesRed.size(),this.m_intervalTreeRed.size()>0&&this.m_intervalTreeRed.reset(),-1!==this.m_queuedListRed&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListRed),this.m_queuedIndicesRed.length=0,this.m_queuedListRed=-1),this.m_bDone=!1,!0}resetBlue_(){return this.m_sweepIndexBlue=this.m_sortedEndIndicesBlue.size(),this.m_intervalTreeBlue.size()>0&&this.m_intervalTreeBlue.reset(),-1!==this.m_queuedListBlue&&(this.m_queuedEnvelopes.deleteList(this.m_queuedListBlue),this.m_queuedIndicesBlue.length=0,this.m_queuedListBlue=-1),this.m_bDone=!1,!0}nullFunc_(){return b("should not be called"),!1}sortYEndIndices_(t,e,s,i){const n=this,r={userSort(t,e,s){n.sortYEndIndicesHelper_(s,t,e,i)},getValue:t=>n.getAdjustedValue_(t,i)};(new ht).sort(t,e,s,r)}sortYEndIndicesHelper_(t,e,s,i){t.sort(e,s,(t,e)=>{const s=this.getAdjustedValue_(t,i),n=this.getAdjustedValue_(e,i);return s<n||s===n&&this.isBottom_(t)&&this.isTop_(e)?-1:1})}getAdjustedValue_(t,e){const s=.5*this.m_tolerance;if(e){const e=this.m_envelopesRed[t>>1];return this.isBottom_(t)?e.ymin-s:e.ymax+s}const i=this.m_envelopesBlue[t>>1];return this.isBottom_(t)?i.ymin-s:i.ymax+s}}var bt=z;class Et{tolerance;resolution;constructor(t,e){this.tolerance=void 0!==t?t:Number.NaN,this.resolution=void 0!==e?e:Number.NaN}add(t){return new Et(this.tolerance+t,this.resolution)}scale(t){return new Et(this.tolerance*t,this.resolution*t)}total(){return this.tolerance+this.resolution}}function Nt(t,e,i,n,r){const o=n*n,a=t.sub(e),h=i.sub(e),m=a.sqrLength(),_=h.sqrLength();if(m<=o||_<=o)return!0;const l=s(a.crossProduct(h));if(l<=o*m||l<=o*_){return a.dotProduct(h)>=0}return!1}function Dt(t,e,s){return i=>0===s?(i+t)*e:1*(i-t*e)/e}function It(t,e){const s=new I;return t.queryLooseEnvelope(s),s.mergeEnvelope2D(e),s}function Ct(t,e){const s=I.constructEmpty();t.queryLooseEnvelope(s);const i=I.constructEmpty();return e.queryLooseEnvelope(i),s.mergeEnvelope2D(i),s}function Tt(t,e){return(Number.isFinite(t)||Number.isNaN(t))&&(Number.isFinite(e)||Number.isNaN(e))}function Rt(t,e){return Number.isFinite(t)&&Number.isFinite(e)}function At(t,e,s){const i=I.constructEmpty();i.setFromPoints(t,e);return Ft(0,null,i.calculateToleranceFromEnvelope(),s,!1)}function qt(t,e,s){return Ft(0,t,e.calculateToleranceFromEnvelope(),s,!1)}function wt(t,e,s){return Ft(1,t,e.calculateToleranceFromEnvelope(),s,!1)}function Bt(t,e,s){return wt(t,e.queryInterval(1,0),s)}function zt(t,e,s){const i=I.constructEmpty();return e.queryEnvelope(i),qt(t,i,s)}function Lt(t,e,s=!1){return Ft(0,t,e.calculateToleranceFromEnvelope(),s,!0).total()}function St(t,e,s){const i=I.constructEmpty();return e.queryEnvelope(i),Lt(t,i,s)}function Ft(t,e,s,i,n){const r=new Et(0,0);if(null!==e&&(r.tolerance=e.getTolerance(t),(!n||i)&&null!==e)){const s=e.getResolution(t);r.resolution=s,i&&(r.resolution*=2)}i&&(s*=4,r.tolerance*=1.01,r.resolution*=1.01);return r.total()<s?new Et(s,0):r}function Pt(t){return Math.sqrt(2)*(2*t.tolerance+t.resolution)}function Ht(t){return Math.sqrt(2)*(t.tolerance+t.resolution)}function Vt(t){return t>=3}function kt(t,e){const s=[0];return t.getImpl().getIsSimple(e,s)>=3}function Mt(t,e){t.getImpl().setIsSimple(3,e)}function Ot(t,e,n,r){if(s(e.x-t.x)+s(e.y-t.y)<=n*n){const s=t.z,n=e.z;return i(s,n,r)}return!1}function Yt(t){return t>=4}function Xt(t,e){return t===v.enumPolygon?Vt(e):e>=1}function Gt(t,e,s){const i=I.constructEmpty(),n=I.constructEmpty();t.queryLooseEnvelope(i),e.queryLooseEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=I.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const o=t.querySegmentIterator(),a=e.querySegmentIterator(),h=I.constructEmpty(),m=I.constructEmpty(),_=new xt;_.setTolerance(s);let l=!1;for(_.startRedConstruction();o.nextPath();)for(;o.hasNextSegment();){o.nextSegment().queryLooseEnvelope(h),h.isIntersecting(r)&&(l=!0,_.addRedEnvelope(o.getStartPointIndex(),h))}if(_.endRedConstruction(),!l)return null;let u=!1;for(_.startBlueConstruction();a.nextPath();)for(;a.hasNextSegment();){a.nextSegment().queryLooseEnvelope(m),m.isIntersecting(r)&&(u=!0,_.addBlueEnvelope(a.getStartPointIndex(),m))}return _.endBlueConstruction(),u?_:null}function Ut(t,e,s,i,n){t.getGeometryType(),e.getGeometryType();const r=I.constructEmpty(),o=I.constructEmpty();t.queryLooseEnvelope(r),e.queryLooseEnvelope(o),r.inflateCoords(s,s),o.inflateCoords(s,s);const a=I.constructEmpty();a.setCoords({env2D:r}),a.intersect(o);const h=new xt;h.setTolerance(s);let m=!1;h.startRedConstruction();for(let l=0,u=t.getPathCount();l<u;l++)t.queryLoosePathEnvelope(l,r),r.isIntersecting(a)&&(m=!0,h.addRedEnvelope(l,r));if(h.endRedConstruction(),!m)return null;let _=!1;h.startBlueConstruction();for(let l=0,u=e.getPathCount();l<u;l++)e.queryLoosePathEnvelope(l,o),o.isIntersecting(a)&&(_=!0,h.addBlueEnvelope(l,o));return h.endBlueConstruction(),_?h:null}function Zt(t,e,s){const i=I.constructEmpty(),n=I.constructEmpty();t.queryLooseEnvelope(i),e.queryEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=I.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const o=t.querySegmentIterator(),a=new xt;a.setTolerance(s);let h=!1;for(a.startRedConstruction();o.nextPath();)for(;o.hasNextSegment();){o.nextSegment().queryLooseEnvelope(i),i.isIntersecting(r)&&(h=!0,a.addRedEnvelope(o.getStartPointIndex(),i))}if(a.endRedConstruction(),!h)return null;let m=!1;a.startBlueConstruction();for(let _=0,l=e.getPointCount();_<l;_++){const t=e.getXY(_);r.contains(t)&&(m=!0,a.addBlueEnvelope(_,I.construct(t.x,t.y,t.x,t.y)))}return a.endBlueConstruction(),m?a:null}function Qt(t,e,s){const i=I.constructEmpty(),n=I.constructEmpty();t.queryEnvelope(i),e.queryEnvelope(n),i.inflateCoords(s,s),n.inflateCoords(s,s);const r=I.constructEmpty();r.setCoords({env2D:i}),r.intersect(n);const o=new xt;o.setTolerance(s);let h=!1;o.startRedConstruction();const m=new a;for(let a=0,u=t.getPointCount();a<u;a++)t.queryXY(a,m),r.contains(m)&&(h=!0,o.addRedEnvelope(a,I.construct(m.x,m.y,m.x,m.y)));if(o.endRedConstruction(),!h)return null;let _=!1;o.startBlueConstruction();const l=new a;for(let a=0,u=e.getPointCount();a<u;a++)e.queryXY(a,l),r.contains(l)&&(_=!0,o.addBlueEnvelope(a,I.construct(l.x,l.y,l.x,l.y)));return o.endBlueConstruction(),_?o:null}function jt(t){const e=new I;return t.queryLooseEnvelope(e),e.inflateCoords(1,1),Wt(t,e)}function Wt(t,e,s){const i=new I;if(t.queryLooseEnvelope(i),i.isEmpty())return null;t.getGeometryType();const n=new lt(i,8);let r=-1;const o=new I;let a=!1;do{for(let s=0,h=t.getPathCount();s<h;s++)if(t.queryLoosePathEnvelope(s,o),o.isIntersecting(e)){if(r=n.insertEx(s,o,r),-1===r){a&&b("build_quad_tree_for_paths"),i.assign(t.calculateEnvelope2D(!1)),a=!0,n.reset(i,8);break}a=!1}}while(a);return n}function Jt(t,e){if(!e){const e=new I;t.queryLooseEnvelope(e);const s=new lt(e,8);let i=-1;const n=new I,r=t.querySegmentIterator();let o=!1;for(;r.nextPath();)for(;r.hasNextSegment();){const a=r.nextSegment(),h=r.getStartPointIndex();if(a.queryLooseEnvelope(n),i=s.insertEx(h,n,i),-1===i){o&&b(""),e.assign(t.calculateEnvelope2D(!1)),o=!0,s.reset(e,8),r.resetToFirstPath();break}}return s}const s=new I;t.queryLooseEnvelope(s);const i=new lt(s,8);let n=-1;const r=new I,o=t.querySegmentIterator();let a=!1;for(;o.nextPath();)for(;o.hasNextSegment();){const h=o.nextSegment(),m=o.getStartPointIndex();if(h.queryLooseEnvelope(r),r.isIntersecting(e)&&(n=i.insertEx(m,r,n),-1===n)){a&&b(""),s.assign(t.calculateEnvelope2D(!1)),a=!0,i.reset(s,8),o.resetToFirstPath();break}}return i}function Kt(t,e){if(e){const s=new lt(e,8),i=new a,n=new I;let r=!1;for(let o=0;o<t.getPointCount();o++){if(i.setCoordsPoint2D(t.getXY(o)),!e.contains(i))continue;n.setCoords({pt:i});-1!==s.insert(o,n)||(r&&b(""),r=!0,s.reset(t.calculateEnvelope2D(),8),o=-1)}return s}return y("no-extent version not yet impl"),null}function $t(t,e,s,i,n){let r=!1;const o=n.vmin,a=n.vmax;for(let h=s;h<e;h+=i){const e=t.read(h);e<o?(r=!0,t.write(h,o)):e>a&&(r=!0,t.write(h,a))}return r}function te(t,e,s,i){if(!t.hasAttribute(s))return!1;const n=t.getGeometryType();if(n===v.enumGeometryCollection){const n=t,r=n.getGeometryCount();let o=0;for(let t=0;t<r;++t){o|=te(n.getGeometry(t),e,s,i)?1:0}return!!o}if(N(n)){const n=t,r=bt.getPersistence(s),o=bt.getComponentCount(s),a=n.getPointCount();if(1===r){const t=$t(n.getAttributeStreamRef(s),a*o,i,o,e);return t&&n.notifyModified(),t}if(2===r){const t=$t(n.getAttributeStreamRef(s),a*o,i,o,e);return t&&n.notifyModified(),t}b("snap_coordinate not implemented")}if(n===v.enumEnvelope){const n=t,r=n.queryInterval(s,i);let o=!1;return r.vmin<e.vmin&&(o=!0,r.vmin=e.vmin),r.vmax>e.vmax&&(o=!0,r.vmax=e.vmax),o&&n.setIntervalEnvelope(s,i,r),o}if(n===v.enumPoint){const n=t;let r=n.getAttributeAsDbl(s,i),o=!1;return r<e.vmin&&(o=!0,r=e.vmin),r>e.vmax&&(o=!0,r=e.vmax),o&&n.setAttributeBasic(s,i,r),o}if(D(n)){const n=t;let r=n.getStartAttributeAsDbl(s,i),o=!1;return r<e.vmin&&(o=!0,r=e.vmin),r>e.vmax&&(o=!0,r=e.vmax),o&&n.setStartAttribute(s,i,r),r=n.getEndAttributeAsDbl(s,i),r<e.vmin&&(o=!0,r=e.vmin),r>e.vmax&&(o=!0,r=e.vmax),o&&n.setEndAttribute(s,i,r),o}b("snap_coordinate not implemented")}var ee=z;class se{static type=v.enumPoint;m_description=null;x=Number.NaN;y=Number.NaN;m_attribs=null;constructor(t){if(t){if(!t.copy)return t.move?(this.m_description=t.move.m_description,t.move.m_description=null,this.m_attribs=t.move.m_attribs,t.move.m_attribs=null,this.x=t.move.x,void(this.y=t.move.y)):t.vd?(this.m_description=t.vd,void(t.attribBuffer?(this.m_attribs=t.attribBuffer,t.initDefaultValues&&this.setDefaultAttributeValues()):this.ensureAttributes())):t.pt?(this.m_description=M(),void this.setXY(t.pt)):void("x"in t&&("z"in t?(this.m_description=O(),this.ensureAttributes(),this.setXYZ(new X(t.x,t.y,t.z))):(this.m_description=M(),this.setXYCoords(t.x,t.y))));t.copy.copyTo(this)}else this.m_description=M()}assignCopy(t){return this.m_attribs=null,t.copyTo(this),this}assignMove(t){return this.m_attribs=null,t.copyTo(this),t.setEmpty(),this}getXY(){return new a(this.x,this.y)}queryXY(t){t.x=this.x,t.y=this.y}setXY(t){this.x=t.x,this.y=t.y}setXYCoords(t,e){this.x=t,this.y=e}getXYZ(){const t=new X;return t.x=this.x,t.y=this.y,t.z=this.getZ(),t}setXYZ(t){this.addAttribute(1),this.x=t.x,this.y=t.y,this.m_attribs[0]=t.z}getX(){return this.x}setX(t){this.x=t}getY(){return this.y}setY(t){this.y=t}getZ(){return this.m_description.hasZ()?this.m_attribs[0]:ee.getDefaultValue(1)}setZ(t){this.addAttribute(1),this.m_attribs[0]=t}getM(){return this.getAttributeAsDbl(2,0)}setM(t){this.addAttribute(2),this.m_description.hasZ()?this.m_attribs[1]=t:this.m_attribs[0]=t}getID(){return this.getAttributeAsInt(3,0)}setID(t){this.setAttributeBasic(3,0,t)}isEqualXY(t,e){return void 0===e&&(e=0),Math.abs(t.x-this.x)<=e&&Math.abs(t.y-this.y)<=e}isEqualXYCoords(t,e,s){return void 0===s&&(s=0),Math.abs(t-this.x)<=s&&Math.abs(e-this.y)<=s}getAttributeAsDbl(t,e){if(0===t){if(0===e)return this.x;if(1===e)return this.y;f("")}const s=ee.getComponentCount(t);(e<0||e>=s)&&f("");const i=this.m_description.getAttributeIndex(t);return i>=0?this.m_attribs[this.m_description.getPointAttributeOffset(i)-2+e]:ee.getDefaultValue(t)}getAttributeAsInt(t,e){return Math.trunc(this.getAttributeAsDbl(t,e))}setAttributeBasic(t,e,s){if(0===t)return void(0===e?this.x=s:1===e?this.y=s:f(""));const i=ee.getComponentCount(t);(e<0||e>=i)&&f("");let n=this.m_description.getAttributeIndex(t);n<0&&(this.addAttribute(t),n=this.m_description.getAttributeIndex(t)),this.m_attribs[this.m_description.getPointAttributeOffset(n)-2+e]=s}copyAttributesFrom(t,e){if(this===t)return;const s=t.getDescription();for(let i=e&&s.hasZ()?2:1,n=s.getAttributeCount();i<n;++i){const e=s.getSemantics(i),n=ee.getComponentCount(e);for(let s=0;s<n;++s){const i=t.getAttributeAsDbl(e,s);this.setAttributeBasic(e,s,i)}}}getAttributeArray(){return this.m_attribs}getDescription(){return this.m_description}assignVertexDescription(t){this.m_description!==t&&this.assignVertexDescriptionImpl(t)}mergeVertexDescription(t){this.m_description!==t&&(this.m_description.hasAttributesFrom(t)||this.mergeVertexDescriptionImpl(t))}hasAttribute(t){return this.m_description.hasAttribute(t)}addAttribute(t){if(this.m_description.hasAttribute(t))return;const e=V(this.m_description,t);this.assignVertexDescription(e)}dropAttribute(t){if(!this.m_description.hasAttribute(t))return;const e=k(this.m_description,t);this.assignVertexDescription(e)}dropAllAttributes(){const t=M();t!==this.m_description&&this.assignVertexDescription(t)}getGeometryType(){return v.enumPoint}getDimension(){return 0}queryEnvelope(t){if(t instanceof oe)return t.setEmpty(),t.assignVertexDescription(this.m_description),void t.merge(this);if(t instanceof G){if(this.isEmpty())return void t.setEmpty();const e=this.getXYZ();return t.xmin=e.x,t.ymin=e.y,t.zmin=e.z,t.xmax=e.x,t.ymax=e.y,void(t.zmax=e.z)}this.isEmpty()?t.setEmpty():(t.xmin=this.x,t.ymin=this.y,t.xmax=this.x,t.ymax=this.y)}queryLooseEnvelope(t){this.queryEnvelope(t)}queryInterval(t,e){const s=new r;if(this.isEmpty())return s.setEmpty(),s;const i=this.getAttributeAsDbl(t,e);return s.vmin=i,s.vmax=i,s}applyTransformation(t){if(!this.isEmpty()){if(1===t.m_TransformationType){const e=this.getXY();return t.transformInPlace(e),void this.setXY(e)}y("3d not impl")}}transformAttribute(t,e,s,i,n){if(this.isEmpty())return;this.addAttribute(t);const r=this.getAttributeAsDbl(t,e),o=Dt(s,i,n);this.setAttributeBasic(t,e,o(r))}createInstance(){return new se({vd:this.m_description})}copyTo(t){if(this===t)return;t.getGeometryType()!==v.enumPoint&&g();const e=t;e.x=this.x,e.y=this.y,this.m_attribs?(e.assignVertexDescription(this.m_description),e.m_attribs=this.m_attribs.slice()):(e.releaseAttributes(),e.assignVertexDescription(this.m_description))}isEmpty(){return Number.isNaN(this.x)||Number.isNaN(this.y)}setEmpty(){this.m_description||(this.m_description=M(),this.releaseAttributes()),this.x=Number.NaN,this.y=Number.NaN,this.m_attribs&&m(this.m_attribs,this.m_description.getDefaultPointAttributes(),0,2,this.m_description.getTotalComponentCount()-2)}calculateArea2D(){return 0}calculateLength2D(){return 0}calculateLength3D(t){return 0}equals(t,e){if(t===this)return!0;if(t.getGeometryType()!==v.enumPoint)return!1;const s=t;if(this.m_description!==s.m_description)return!1;if(this.isEmpty()!==s.isEmpty())return!1;if(this.isEmpty())return!0;if(void 0===e&&(e=0),Math.abs(this.x-s.x)>e)return!1;if(Math.abs(this.y-s.y)>e)return!1;for(let n=0,r=this.m_description.getTotalComponentCount()-2;n<r;n++)if(!i(this.m_attribs[n],s.m_attribs[n],e))return!1;return!0}getBoundary(){return null}clone(){const t=new se({vd:this.m_description});return this.copyTo(t),t}swap(t){if(this===t)return;t.getGeometryType()!==v.enumPoint&&g("wrong geometry type");const e=t;e.m_description=o(this.m_description,this.m_description=e.m_description),e.x=o(this.x,this.x=e.x),e.y=o(this.y,this.y=e.y),e.m_attribs=o(this.m_attribs,this.m_attribs=e.m_attribs)}replaceNaNs(t,e){if(this.addAttribute(t),this.isEmpty())return;const s=ee.getComponentCount(t);for(let i=0;i<s;i++){const s=this.getAttributeAsDbl(t,i);Number.isNaN(s)&&this.setAttributeBasic(t,i,e)}}lerp(t,e,s){if(t.getDescription()!==e.getDescription()&&g("Point.lerp"),this.assignVertexDescription(t.getDescription()),t.isEmpty()||e.isEmpty())return this.setEmpty(),this;this.ensureAttributes();const i=B();t.queryValues(i,i.length);const n=B();e.queryValues(n,n.length);const r=B();let o=i,a=n;const h=r;let m=0;for(let l=0,u=this.m_description.getAttributeCount();l<u;l++){const t=this.m_description.getSemantics(l),e=ee.getInterpolation(t),i=ee.getComponentCount(t),n=ee.getDefaultValue(t);_(e,o,a,h,m,i,s,n),o=o.slice(i),a=a.slice(i),m+=i}return this.setValues(r,m),this}static lerp(t,e,s,i){i.lerp(t,e,s)}setDefaultAttributeValues(){const t=this.m_description.getTotalComponentCount()-2;t>0&&(this.m_attribs?m(this.m_attribs,this.m_description.getDefaultPointAttributes(),0,2,t):this.m_attribs=this.m_description.getDefaultPointAttributes().slice(2))}static sqrDistance2D(t,e){return a.sqrDistanceCoords(t.x,t.y,e.x,e.y)}getImpl(){return this}mergeVertexDescriptionImpl(t){const e=H(this.getDescription(),t);this.assignVertexDescription(e)}releaseAttributes(){this.m_attribs=null}assignVertexDescriptionImpl(t){this.m_description||(this.m_description=M());const e=S();Y(t,this.m_description,e);let s=null;t.getTotalComponentCount()-2>0&&(s=t.getDefaultPointAttributes().slice(2));for(let i=1,n=t.getAttributeCount();i<n;i++){const n=e[i];if(-1!==n){const e=this.m_description.getPointAttributeOffset(n)-2,r=t.getPointAttributeOffset(i)-2,o=ee.getComponentCount(t.getSemantics(i));for(let t=0;t<o;t++)s[r+t]=this.m_attribs[e+t]}}this.m_attribs=s,this.m_description=t}ensureAttributes(){this.m_description.getTotalComponentCount()-2>0&&null===this.m_attribs&&(this.m_attribs=this.m_description.getDefaultPointAttributes().slice(2))}queryValues(t,e){const s=this.m_description.getTotalComponentCount();p(s<=e),t[0]=this.x,t[1]=this.y,m(t,this.m_attribs,2,0,s-2)}copyCommonAttributesTo(t){t.x=this.x,t.y=this.y;const e=t.getDescription();if(e===this.m_description)this.m_attribs&&m(t.m_attribs,this.m_attribs,0,0,this.m_description.getTotalComponentCount()-2);else{let s=0;for(let i=1,n=e.getAttributeCount();i<n;i++){const n=e.getSemantics(i);let r=ee.getComponentCount(n);if(this.m_description.hasAttribute(n)){let e=this.m_description.getPointAttributeOffset(this.m_description.getAttributeIndex(n))-2;for(;0!==r;)t.m_attribs[s++]=this.m_attribs[e++],r--}else{const e=ee.getDefaultValue(n);for(;0!==r;)t.m_attribs[s++]=e,r--}}}}setValues(t,e){const s=this.m_description.getTotalComponentCount();p(s<=e),this.x=t[0],this.y=t[1],m(this.m_attribs,t,0,2,s-2)}dbgDefaultAttribs(){}toFlatGeometry(){const t=Float64Array.of(this.getX(),this.getY(),this.getZ(),this.getM());return{type:"point",vertexCount:1,vertexXY:t.subarray(0,2),vertexZ:this.hasAttribute(1)?t.subarray(2,3):void 0,vertexM:this.hasAttribute(2)?t.subarray(3,4):void 0,...at}}}var ie=z;function ne(t,e){return e*(t.getTotalComponentCount()-2)}class re{m_envelope2D;m_attributes;constructor(t){if(this.m_attributes=null,t)if(void 0!==t.xmin)this.m_envelope2D=new I(t.xmin,t.ymin,t.xmax,t.ymax);else if(void 0!==t.env2D)this.m_envelope2D=new I(t.env2D);else if(t.move)this.m_envelope2D=new I(t.move.m_envelope2D),this.m_attributes=t.move.m_attributes,t.move.m_attributes=null;else{if(!t.moveEnv)throw new Error("unrecognized EnvelopeData constructor options");{const e=t.moveEnv.accessEnvelopeData();this.m_envelope2D=new I(e.m_envelope2D),this.m_attributes=e.m_attributes,e.m_attributes=null}}else this.m_envelope2D=I.constructEmpty()}ensureAttributes(t){const s=t.getTotalComponentCount()-2;!this.m_attributes&&s&&(this.m_attributes=e(2*s,Number.NaN),this.m_attributes.fill(Number.NaN))}copyTo(t,s){const i=s,n=t.getTotalComponentCount()-2;if(i.m_description!==t&&(i.releaseAttributes_(),i.m_description=t,n&&(i.m_data.m_attributes=e(2*n,Number.NaN))),n){p(this.m_attributes&&i.m_data.m_attributes);const t=2*n;m(i.m_data.m_attributes,this.m_attributes,0,0,t)}i.m_data.m_envelope2D=new I(this.m_envelope2D)}copyToIfNotNull(t,e){e.m_envelope2D=new I(this.m_envelope2D),e.releaseAttributes();t.getTotalComponentCount()-2&&this.m_attributes&&(e.m_attributes=this.m_attributes.slice())}releaseAttributes(){this.m_attributes=null}isEmpty(){return this.m_envelope2D.isEmpty()}transformAttribute(t,e,s,i,n){p(0)}queryInterval(t,e,s,i){if(this.isEmpty())return void i.setEmpty();if(0===e)return void(0===s?this.m_envelope2D.queryIntervalX(i):1===s?this.m_envelope2D.queryIntervalY(i):f(""));const n=ie.getComponentCount(e);(s<0||s>=n)&&f("");const r=t.getAttributeIndex(e);if(r>=0)return i.vmin=this.m_attributes[ne(t,0)+t.getPointAttributeOffset(r)-2+s],void(i.vmax=this.m_attributes[ne(t,1)+t.getPointAttributeOffset(r)-2+s]);{const t=ie.getDefaultValue(e);return void i.setCoords(t,t)}}queryEnvelope3D(t,e){const s=new r;this.queryInterval(t,1,0,s),e.setCoords(this.m_envelope2D.xmin,this.m_envelope2D.ymin,s.vmin,this.m_envelope2D.xmax,this.m_envelope2D.ymax,s.vmax)}setEmpty(t){this.m_envelope2D.setEmpty();const s=t.getTotalComponentCount()-2;s&&(this.m_attributes?this.dbgAssertSize(s):this.m_attributes=e(2*s,Number.NaN),this.m_attributes.fill(Number.NaN))}dbgAssertSize(t){}}let oe=class t{static type=v.enumEnvelope;m_EnvelopeType=4;m_description;m_data;constructor(t){if(this.m_description=M(),void 0===t)this.m_data=new re;else if(void 0!==t.vd)this.m_description=t.vd,this.m_data=new re,this.ensureAttributes_();else if(t?.env2D)this.m_data=new re({env2D:t.env2D});else if(void 0!==t.xmin)this.m_data=new re({xmin:t.xmin,ymin:t.ymin,xmax:t.xmax,ymax:t.ymax});else if(t.copy)this.m_data=new re,t.copy.copyTo(this);else if(t.move)this.m_description=t.move.m_description,t.move.m_description=null,this.m_data=new re({move:t.move.m_data});else{if(!t.centerPoint)throw new Error("unrecognized Envelope constructor options");this.m_description=t.centerPoint.getDescription(),this.m_data=new re,this.ensureAttributes_(),this.setFromPoint(t.centerPoint,t.width,t.height)}}accessEnvelopeData(){return this.m_description=null,this.m_data}assignMove(t){return this===t||(this.m_description=t.m_description,t.m_description=null,this.m_data=new re({move:t.m_data})),this}assignCopy(t){return this===t||t.copyTo(this),this}transformAttribute(t,e,s,i,n){p(0)}setAttributeBasic(t,e,s){if(this.addAttribute(t),this.m_data.isEmpty())return;const i=this.queryInterval(t,e);i.vmin=s,i.vmax=s,this.setIntervalEnvelope(t,e,i)}mergeVertexDescriptionImpl(t){const e=H(this.getDescription(),t);this.assignVertexDescription(e)}asEnvelope2D(){return new I(this.m_data.m_envelope2D)}assignVertexDescription(t){this.m_description!==t&&this.assignVertexDescriptionImpl(t)}getGeometryType(){return v.enumEnvelope}getDimension(){return 2}getXMin(){return this.m_data.m_envelope2D.xmin}getYMin(){return this.m_data.m_envelope2D.ymin}getXMax(){return this.m_data.m_envelope2D.xmax}getYMax(){return this.m_data.m_envelope2D.ymax}width(){return this.m_data.isEmpty()?Number.NaN:this.m_data.m_envelope2D.width()}height(){return this.m_data.isEmpty()?Number.NaN:this.m_data.m_envelope2D.height()}getCenterXY(){return this.m_data.isEmpty()?new a:this.m_data.m_envelope2D.getCenter()}getCenter(t){if(t.assignVertexDescription(this.m_description),this.m_data.isEmpty())return void t.setEmpty();const e=this.m_description.getAttributeCount();for(let s=1;s<e;s++){const e=this.m_description.getSemantics(s),i=ie.getComponentCount(e);for(let s=0;s<i;s++){const i=.5*(this.getAttributeAsDblImpl(0,e,s)+this.getAttributeAsDblImpl(1,e,s));t.setAttributeBasic(e,s,i)}}t.setXY(this.m_data.m_envelope2D.getCenter())}setCoords(t,e,s,i){this.m_data.m_envelope2D.setCoords({xmin:t,ymin:e,xmax:s,ymax:i})}setEnvelope(t){if(t instanceof I)this.m_data.m_envelope2D=new I(t),this.m_data.m_envelope2D.normalize();else{this.addAttribute(1),this.m_data.m_envelope2D=t.getEnvelope2D(),this.m_data.m_envelope2D.normalize();const e=r.constructEmpty();e.setCoords(t.zmin,t.zmax),this.setInterval(1,0,e.vmin,e.vmax)}}merge(e){if(e instanceof I)return e.isValid()||g(""),void this.m_data.m_envelope2D.mergeEnvelope2D(e);if(e instanceof t){if(e.m_data.isEmpty())return;const t=e.getDescription();this.mergeVertexDescription(t),this.m_data.m_envelope2D.mergeEnvelope2D(e.m_data.m_envelope2D);for(let s=1,i=t.getAttributeCount();s<i;s++){const i=t.getSemantics(s),n=ie.getComponentCount(i);for(let t=0;t<n;t++){const s=e.queryInterval(i,t),n=this.queryInterval(i,t);n.merge(s),this.setIntervalEnvelope(i,t,n)}}return}if(e instanceof se){const t=e;if(t.isEmpty())return;const s=t.getDescription();if(this.mergeVertexDescription(s),this.m_data.isEmpty())return void this.setFromPoint(t);this.m_data.m_envelope2D.merge(t.getXY());for(let e=1,i=s.getAttributeCount();e<i;e++){const i=s.getSemantics(e),n=ie.getComponentCount(i);for(let e=0;e<n;e++){const s=t.getAttributeAsDbl(i,e),n=this.queryInterval(i,e);n.mergeCoordinate(s),this.setIntervalEnvelope(i,e,n)}}return}y("unrecognized type for envelope.merge")}intersect(t){if(!this.m_data.m_envelope2D.intersect(t.m_data.m_envelope2D))return this.setEmpty(),!1;const e=t.getDescription();this.mergeVertexDescription(e);for(let s=1,i=this.m_description.getAttributeCount();s<i;s++){const e=this.m_description.getSemantics(s),i=ie.getComponentCount(e);for(let s=0;s<i;s++){const i=t.queryInterval(e,s),n=this.queryInterval(e,s);n.intersect(i),this.setIntervalEnvelope(e,s,n)}}return!0}intersectCommonAttributes(t){if(!this.m_data.m_envelope2D.intersect(t.m_data.m_envelope2D))return this.setEmpty(),!1;const e=t.getDescription();for(let s=1,i=this.m_description.getAttributeCount();s<i;s++){const i=this.m_description.getSemantics(s);if(!e.hasAttribute(i))continue;const n=ie.getComponentCount(i);for(let e=0;e<n;e++){const s=t.queryInterval(i,e),n=this.queryInterval(i,e);n.intersect(s),this.setIntervalEnvelope(i,e,n)}}return!0}move(t,e){this.m_data.m_envelope2D.move(t,e)}centerAt(t,e){this.m_data.m_envelope2D.centerAtCoords(t,e)}centerAtPoint(t){this.m_data.m_envelope2D.centerAt(t)}reaspect(t,e){this.m_data.m_envelope2D.reaspect(t,e)}inflateCoords(t,e){this.m_data.m_envelope2D.inflateCoords(t,e)}containsCoords(t,e){return this.m_data.m_envelope2D.containsCoords(t,e)}contains(t){return this.m_data.m_envelope2D.contains(t)}containsPoint(t){return!t.isEmpty()&&this.m_data.m_envelope2D.contains(t.getXY())}containsEnvelope(t){return this.m_data.m_envelope2D.containsEnvelope(t.m_data.m_envelope2D)}setIntervalEnvelope(t,e,s){if(this.addAttribute(t),this.m_data.isEmpty())return;const i=new r(s);if(i.normalize(),0===t){if(i.isEmpty())return void this.setEmpty();0===e?(this.m_data.m_envelope2D.xmin=i.vmin,this.m_data.m_envelope2D.xmax=i.vmax):1===e?(this.m_data.m_envelope2D.ymin=i.vmin,this.m_data.m_envelope2D.ymax=i.vmax):f("")}else this.setAttributeAsDblImpl(0,t,e,i.vmin),this.setAttributeAsDblImpl(1,t,e,i.vmax)}setInterval(t,e,s,i){this.setIntervalEnvelope(t,e,new r(s,i))}queryInterval(t,e){const s=new r;return this.m_data.queryInterval(this.m_description,t,e,s),s}queryEnvelope(t){2!==t.m_EnvelopeType?3!==t.m_EnvelopeType?4!==t.m_EnvelopeType?y("unrecognized type for queryEnveloper"):this.copyTo(t):this.m_data.queryEnvelope3D(this.m_description,t):t.setCoords({env2D:this.m_data.m_envelope2D})}applyTransformation(t){1!==t.m_TransformationType?p(0):t.transformEnvInPlace(this.m_data.m_envelope2D)}createInstance(){return new t({vd:this.m_description})}copyTo(t){t!==this&&this.m_data.copyTo(this.m_description,t)}isEmpty(){return this.m_data.isEmpty()}setEmpty(){this.m_description||(this.m_description=M()),this.m_data.setEmpty(this.m_description)}calculateArea2D(){return this.m_data.m_envelope2D.getArea()}calculateLength2D(){return this.m_data.m_envelope2D.getLength()}calculateLength3D(t){return p(0),0}equals(t,e){if(t===this)return!0;const s=t;if(this.m_description!==s.m_description)return!1;if(this.m_data.isEmpty()!==s.m_data.isEmpty())return!1;if(this.m_data.isEmpty())return!0;if(void 0===e&&(e=0),Math.abs(this.m_data.m_envelope2D.xmin-s.m_data.m_envelope2D.xmin)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.ymin-s.m_data.m_envelope2D.ymin)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.xmax-s.m_data.m_envelope2D.xmax)>e)return!1;if(Math.abs(this.m_data.m_envelope2D.ymax-s.m_data.m_envelope2D.ymax)>e)return!1;for(let n=0,r=2*(this.m_description.getTotalComponentCount()-2);n<r;n++)if(!i(this.m_data.m_attributes[n],s.m_data.m_attributes[n],e))return!1;return!0}getBoundary(){return y("getBoundary not available in this context. Use the boundary operator with an envelope parameter"),null}clone(){return new t({copy:this})}swap(t){if(this===t)return;t.getGeometryType()!==v.enumEnvelope&&g("wrong geometry type");const e=t;e.m_description=o(this.m_description,this.m_description=e.m_description),e.m_data.m_envelope2D=o(this.m_data.m_envelope2D,this.m_data.m_envelope2D=e.m_data.m_envelope2D),e.m_data.m_attributes=o(this.m_data.m_attributes,this.m_data.m_attributes=e.m_data.m_attributes)}queryCoordinates(t){this.m_data.isEmpty()&&g(""),this.m_data.m_envelope2D.queryCorners(t)}queryCornerByVal(t,e){(t<0||t>3)&&f(""),e.assignVertexDescription(this.m_description);const s=this.getDescription().getAttributeCount();for(let i=1;i<s;i++){const s=this.m_description.getSemantics(i),n=ie.getComponentCount(s);for(let i=0;i<n;i++)e.setAttributeBasic(s,i,this.getAttributeAsDblImpl(t%2,s,i))}e.setXY(this.m_data.m_envelope2D.queryCorner(t))}queryCorner(t,e){e.assign(this.m_data.m_envelope2D.queryCorner(t))}getDescription(){return this.m_description}mergeVertexDescription(t){this.m_description!==t&&(this.m_description&&this.m_description.hasAttributesFrom(t)||this.mergeVertexDescriptionImpl(t))}hasAttribute(t){return this.m_description.hasAttribute(t)}addAttribute(t){if(this.m_description.hasAttribute(t))return;const e=V(this.m_description,t);this.assignVertexDescription(e)}dropAttribute(t){if(!this.m_description.hasAttribute(t))return;const e=k(this.m_description,t);this.assignVertexDescription(e)}dropAllAttributes(){const t=M();t!==this.m_description&&this.assignVertexDescription(t)}queryLooseEnvelope(t){this.queryEnvelope(t)}replaceNaNs(t,e){if(this.addAttribute(t),this.m_data.isEmpty())return;const s=ie.getComponentCount(t);for(let i=0;i<s;i++){const s=this.queryInterval(t,i);s.isEmpty()&&(s.vmin=e,s.vmax=e,this.setIntervalEnvelope(t,i,s))}}getImpl(){return this}setFromPoint(t,e,s){this.m_data.m_envelope2D.setCoords({center:t.getXY(),width:e??0,height:s??0});const i=t.getDescription();for(let n=1,r=i.getAttributeCount();n<r;n++){const e=i.getSemantics(n),s=ie.getComponentCount(e);for(let i=0;i<s;i++){const s=t.getAttributeAsDbl(e,i);this.setInterval(e,i,s,s)}}}assignVertexDescriptionImpl(t){const s=S();Y(t,this.m_description,s);let i=null;const n=t.getTotalComponentCount()-2,r=this.m_description?this.m_description.getTotalComponentCount()-2:0;n>0&&(i=e(2*n,Number.NaN));for(let e=1;e<t.getAttributeCount();e++){const o=s[e];if(-1!==o){const s=t.getPointAttributeOffset(e)-2,a=ie.getComponentCount(t.getSemantics(e)),h=this.m_description.getPointAttributeOffset(o)-2;m(i,this.m_data.m_attributes,s,h,a),m(i,this.m_data.m_attributes,n+s,r+h,a)}}this.releaseAttributes_(),this.m_data.m_attributes=i,this.m_description=t}getAttributeAsDblImpl(t,e,s){if(this.m_data.isEmpty()&&x(""),0===e)return t?s?this.m_data.m_envelope2D.ymax:this.m_data.m_envelope2D.xmax:s?this.m_data.m_envelope2D.ymin:this.m_data.m_envelope2D.xmin;s>=ie.getComponentCount(e)&&f("");const i=this.m_description.getAttributeIndex(e);return i>=0?this.m_data.m_attributes[ne(this.m_description,t)+this.m_description.getPointAttributeOffset(i)-2+s]:z.getDefaultValue(e)}setAttributeAsDblImpl(t,e,s,i){0===e&&(t?1===s?this.m_data.m_envelope2D.ymax=i:0===s?this.m_data.m_envelope2D.xmax=i:f(""):1===s?this.m_data.m_envelope2D.ymin=i:0===s?this.m_data.m_envelope2D.xmin=i:f(""));const n=ie.getComponentCount(e);(s<0||s>=n)&&f(""),this.addAttribute(e);const r=this.m_description.getAttributeIndex(e);this.m_data.m_attributes[ne(this.m_description,t)+this.m_description.getPointAttributeOffset(r)-2+s]=i}releaseAttributes_(){this.m_data.releaseAttributes()}ensureAttributes_(){this.m_data.ensureAttributes(this.m_description)}};const ae=Object.freeze(Object.defineProperty({__proto__:null,Envelope:oe,EnvelopeData:re},Symbol.toStringTag,{value:"Module"}));export{O as $,nt as A,ht as B,Et as C,xt as D,oe as E,ct as F,U as G,Nt as H,gt as I,te as J,M as K,re as L,H as M,V as N,k as O,se as P,B as Q,S as R,mt as S,pt as T,Y as U,z as V,j as W,W as X,w as Y,Dt as Z,at as _,st as a,J as a0,K as a1,$ as a2,jt as a3,At as a4,Tt as a5,Rt as a6,Q as a7,ae as a8,et as b,qt as c,Lt as d,zt as e,Pt as f,Ct as g,It as h,Yt as i,kt as j,X as k,Xt as l,St as m,Ht as n,Bt as o,Ot as p,Vt as q,G as r,Mt as s,wt as t,Jt as u,Kt as v,Gt as w,Zt as x,Qt as y,Ut as z};
|