@arcgis/core 5.2.0-next.81 → 5.2.0-next.82

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.
Files changed (179) hide show
  1. package/assets/esri/core/workers/RemoteClient.js +1 -1
  2. package/assets/esri/core/workers/chunks/{88d6a7ebded4d359deb0.js → 027af54888befb209aaa.js} +1 -1
  3. package/assets/esri/core/workers/chunks/{694216224d5fd3a8956d.js → 04f5ff688785a4bd3b03.js} +1 -1
  4. package/assets/esri/core/workers/chunks/{578904043e873424904c.js → 0d982abff7c9496f7890.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{3adba34224cba869a39c.js → 10ac92dcd3738ec23dfb.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{4a537054c99cbc492715.js → 11d911f70bf0ca252c19.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{2f3525df00fb265661fc.js → 1352b5c6767e5421bc02.js} +1 -1
  8. package/assets/esri/core/workers/chunks/1354b8442c2c501238f1.js +1 -0
  9. package/assets/esri/core/workers/chunks/{8cfe817299eb16cb2664.js → 1438f571f738e83b4d1c.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{efd176c5ac35f313e7a2.js → 14469f664fd5ede469fc.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{bfd532e33800755b1f48.js → 14511c92cbbc26d80c86.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{fbb0b2f4ec0ba458ddeb.js → 19dac19122eeeb5e36b2.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{f71a3fe5f30aa782193a.js → 20db27d9828397d0b37a.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{b3081c0b037abc49d09b.js → 26c12804a0d801df29bf.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{8006ffa263fb8016afdb.js → 26c8ed0aef59ed6d5267.js} +1 -1
  16. package/assets/esri/core/workers/chunks/2d1c0d80a9843567df8d.js +1 -0
  17. package/assets/esri/core/workers/chunks/{2b79b376b0d60d2f0d5c.js → 2d6e1bf7c1981bed4357.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{7028671ffdaafe2725bc.js → 33aaa5a49e396a0aca47.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{d1baf17f3219f70106f7.js → 34f6093d2c00e3584037.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{bfac0f47e81055585002.js → 3f0625c31dd46b563160.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{9a5894e8ebdf0e97b98f.js → 43122c435497228a7583.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{8fff4a41a54d39db470a.js → 44d13f65465646e5f6e9.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{9c17bfbfc347ac289b6e.js → 463b7952a4825541eb13.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{540a3685e614bb006744.js → 469e72ab6cd44272f474.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{1ed6a8bb415999c4e8a6.js → 4cf2c33494cb75942511.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{6c372d85b5783dd2a793.js → 52042fd36f4a572938f0.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{d8b38c196b06e801c4e6.js → 563a4d6788ad66b676e4.js} +1 -1
  28. package/assets/esri/core/workers/chunks/598221c7054415b84904.js +1 -0
  29. package/assets/esri/core/workers/chunks/{89df303abcbc0167e4d2.js → 5a006ff759fad9fc25cb.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{40ebe69b08ea54e0e780.js → 5b60fc95757b2a53558a.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{c336f300fe6100e36592.js → 5c634b3e6dc76299b1df.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{5a67bd724aa7fcdebe16.js → 5d30accf1dcda0c70f95.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{8d16d53643dd8d489c25.js → 605da92d28e067f4a4c6.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{5c9a398e659ecd427fb5.js → 657528eb6a3d3b3cb631.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{d845f2115848b56c0369.js → 66292e98b4111ea3658d.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{f57e5e7d0748d9a370f7.js → 680496660b2aaa710099.js} +1 -1
  37. package/assets/esri/core/workers/chunks/6c389e9646a48c26da20.js +2 -0
  38. package/assets/esri/core/workers/chunks/{fbcc346fa603d6edac98.js → 6db4a4f9a9ce7cc738d0.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{a9e944f28bd573c8230d.js → 6eb28086dc28f6d144ec.js} +1 -1
  40. package/assets/esri/core/workers/chunks/7bd8ebb321ecf1f06496.js +1 -0
  41. package/assets/esri/core/workers/chunks/{d0aaa4ad7f76f577f117.js → 7d5877eede2f552dea9f.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{bf5831a7c12b1e42c669.js → 83a77d3f45c8c21cec45.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{dcec7fc66385c12ecdf0.js → 865f9adc591056458b6b.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{d62a5a33a24418a3e283.js → 88771a75adcbd54c4fac.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{37fb38db03cb39e3c342.js → 8c6a60d96c73982febd2.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{6065caa7981cef255277.js → 911f3a1b8dd4bc5c9782.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{70c371c9f133ab9f7925.js → 918577ea025f67ebe372.js} +1 -1
  48. package/assets/esri/core/workers/chunks/99966339b061eb9945b8.js +1 -0
  49. package/assets/esri/core/workers/chunks/{9bd4cda90daf90189bfc.js → a2fd945659ce052f99d2.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{74cd17aca5f7e0caac90.js → a9a1061cdf82b372835f.js} +1 -1
  51. package/assets/esri/core/workers/chunks/ab10388dcc17a665ac3b.js +2 -0
  52. package/assets/esri/core/workers/chunks/ac9a3dfd02160e43fc8a.js +2 -0
  53. package/assets/esri/core/workers/chunks/{82da6d98bd4980a3d454.js → af88f8dd1a53e4740aa6.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{d2448e26e19005ef9ab2.js → b09e9ac5fd928e69b053.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{61190c833791f0833a39.js → b7bcc2d0b0fa8e703c83.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{37a121316d114999ac70.js → ba67aaa08e4f11e1140a.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{5d50a030bf9f4e94f69d.js → bbeb61d9302323bae9fb.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{dbca32f0e0c2c2e2ccf3.js → bd1c870694edd25bf8aa.js} +1 -1
  59. package/assets/esri/core/workers/chunks/c1f125594e684c1b4ffc.js +1 -0
  60. package/assets/esri/core/workers/chunks/{d4b78d11a5ce4320a29a.js → c456abf5ee2a1ad5cc5b.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{61312d3b5477ed9d87d9.js → c61e94806b37ca3dd549.js} +2 -2
  62. package/assets/esri/core/workers/chunks/{e72fa08b0bd324514a0e.js → c8d83f71326222b98608.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{09f0805b32e6cab980e6.js → cc1a00694cc9f7c606d6.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{e8a9a686a3c23afc9d1f.js → cdd4aeaa3f30bc4ea93a.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{eca0736953a20cfc64ad.js → d0c8630177d3a4e316f1.js} +2 -2
  66. package/assets/esri/core/workers/chunks/{bc30c0de6dcb106b24a1.js → da233362b06b6db375f1.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{ce81f29134ab3971bd54.js → dd91824692bec809909c.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{f9e9e79f78be32e5d475.js → e706c37b44e98fbcb5f7.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{856dba96332509fb1d7a.js → ead4143d811aab610e00.js} +2 -2
  70. package/assets/esri/core/workers/chunks/ef269dd559c1c79957e5.js +1 -0
  71. package/assets/esri/core/workers/chunks/{4a6158994a8cc8b8664f.js → f0692e10af5983f6ad93.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{fae32c9ce811934b6a64.js → f248131df4eaa5291623.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{4c15551e33a3c6cda61d.js → f762f0f6c83748d8e328.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{4eaa93859ceec1b38530.js → fa29b5064d6626cfc019.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{a3cbd3e983e21f40b253.js → faf14281a74a06fa1f30.js} +1 -1
  76. package/assets/esri/core/workers/chunks/fcf7299e2ee904ab9882.js +1 -0
  77. package/assets/esri/core/workers/chunks/{388b71211a0ad5cbd6b9.js → fe06cc2f90b2d551e4c1.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{86035e46777ed896c658.js → ffad5fd9c5e98f4fe2c3.js} +1 -1
  79. package/assets/esri/geometry/support/pe-wasm.wasm +0 -0
  80. package/chunks/Bufferer-CclWhXVb.js +1 -1
  81. package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
  82. package/chunks/EmissionComposite.glsl.js +7 -1
  83. package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
  84. package/chunks/GeodeticUtils.js +1 -1
  85. package/chunks/GeographicTransformation.js +2 -0
  86. package/chunks/Geometry.js +1 -1
  87. package/chunks/MultiPathImpl.js +1 -1
  88. package/chunks/OperatorCrosses.js +1 -1
  89. package/chunks/OperatorCut.js +1 -1
  90. package/chunks/OperatorGeodesicBuffer.js +1 -1
  91. package/chunks/OperatorGeodeticArea.js +1 -1
  92. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  93. package/chunks/OperatorGeodeticLength.js +1 -1
  94. package/chunks/OperatorGraphicBuffer.js +1 -1
  95. package/chunks/OperatorIntegrate.js +1 -1
  96. package/chunks/OperatorIntersects.js +1 -1
  97. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  98. package/chunks/OperatorOverlaps.js +1 -1
  99. package/chunks/OperatorProximity.js +1 -1
  100. package/chunks/OperatorProximityGeodesic.js +1 -1
  101. package/chunks/OperatorShapePreservingLength.js +1 -1
  102. package/chunks/OperatorShapePreservingProject.js +1 -1
  103. package/chunks/OperatorSimplifyOGC.js +1 -1
  104. package/chunks/OperatorTouches.js +1 -1
  105. package/chunks/OperatorWithin.js +1 -1
  106. package/chunks/Point2D.js +1 -1
  107. package/chunks/ProjectionTransformation.js +1 -1
  108. package/chunks/SideCalculator2D-DX0718xq.js +1 -1
  109. package/chunks/UnitFactory.js +1 -1
  110. package/chunks/containsOperator.js +1 -1
  111. package/chunks/disjointOperator.js +1 -1
  112. package/chunks/equalsOperator.js +1 -1
  113. package/chunks/pe-wasm.js +1 -1
  114. package/chunks/relateOperator.js +1 -1
  115. package/config.js +1 -1
  116. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  117. package/geometry/operators/gx/operatorBuffer.js +1 -1
  118. package/geometry/operators/gx/operatorDifference.js +1 -1
  119. package/geometry/operators/gx/operatorIntersection.js +1 -1
  120. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  121. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  122. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  123. package/geometry/operators/gx/operatorSimplify.js +1 -1
  124. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  125. package/geometry/operators/gx/operatorUnion.js +1 -1
  126. package/geometry/operators/json/containsOperator.js +1 -1
  127. package/geometry/operators/json/disjointOperator.js +1 -1
  128. package/geometry/operators/reshapeOperator.js +1 -1
  129. package/geometry/operators/support/GeographicTransformation.d.ts +7 -0
  130. package/geometry/operators/support/GeographicTransformation.js +1 -1
  131. package/geometry/operators/support/GeographicTransformationStep.d.ts +7 -1
  132. package/geometry/operators/support/GeographicTransformationStep.js +1 -1
  133. package/geometry/operators/support/geographicTransformationUtils.d.ts +13 -2
  134. package/geometry/operators/support/geographicTransformationUtils.js +1 -1
  135. package/geometry/operators/support/jsonConverter.js +1 -1
  136. package/geometry/operators/support/projectionTransformation.js +1 -1
  137. package/kernel.js +1 -1
  138. package/layers/raster/types.d.ts +1 -1
  139. package/layers/support/AggregateField.d.ts +9 -3
  140. package/layers/support/FeatureReductionCluster.d.ts +16 -6
  141. package/layers/support/I3SExtractChanges.js +2 -0
  142. package/package.json +3 -3
  143. package/renderers/support/AuthoringInfo.d.ts +8 -3
  144. package/support/revision.js +1 -1
  145. package/views/2d/layers/MediaLayerView2D.js +1 -1
  146. package/views/3d/analysis/LineOfSight/LineOfSightDrawToolRenderer.js +1 -1
  147. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  148. package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +1 -1
  149. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  150. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  151. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  152. package/views/3d/layers/I3SMeshView3D.js +1 -1
  153. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  154. package/views/3d/layers/SceneLayerView3D.js +1 -1
  155. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  156. package/views/3d/support/PBFDecoder.js +1 -1
  157. package/views/3d/webgl-engine/Stage.js +1 -1
  158. package/views/3d/webgl-engine/lib/EmissionComposite.glsl.js +1 -1
  159. package/views/MapView.d.ts +0 -60
  160. package/views/View2D.d.ts +59 -1
  161. package/views/draw/support/managers/InteractiveHandleManager.js +1 -1
  162. package/widgets/Legend/support/sizeRampUtils.js +1 -1
  163. package/widgets/Legend/support/utils.js +1 -1
  164. package/assets/esri/core/workers/chunks/453c69879f4b82ba13a1.js +0 -1
  165. package/assets/esri/core/workers/chunks/9234a293d61e134f121f.js +0 -1
  166. package/assets/esri/core/workers/chunks/95b9eaf7a49eeb17e62f.js +0 -1
  167. package/assets/esri/core/workers/chunks/973440553c9e058b0132.js +0 -1
  168. package/assets/esri/core/workers/chunks/c5853fbb975e169c44c5.js +0 -1
  169. package/assets/esri/core/workers/chunks/e2473de49189d93714d3.js +0 -1
  170. package/assets/esri/core/workers/chunks/e63f94c8097555b266ad.js +0 -2
  171. package/assets/esri/core/workers/chunks/f2d99f693a590f384315.js +0 -1
  172. package/assets/esri/core/workers/chunks/fc2234e0d202631f3abf.js +0 -2
  173. package/assets/esri/core/workers/chunks/fcb943c3b31b1bf62e65.js +0 -2
  174. /package/assets/esri/core/workers/chunks/{61312d3b5477ed9d87d9.js.LICENSE.txt → 6c389e9646a48c26da20.js.LICENSE.txt} +0 -0
  175. /package/assets/esri/core/workers/chunks/{e63f94c8097555b266ad.js.LICENSE.txt → ab10388dcc17a665ac3b.js.LICENSE.txt} +0 -0
  176. /package/assets/esri/core/workers/chunks/{fc2234e0d202631f3abf.js.LICENSE.txt → ac9a3dfd02160e43fc8a.js.LICENSE.txt} +0 -0
  177. /package/assets/esri/core/workers/chunks/{fcb943c3b31b1bf62e65.js.LICENSE.txt → c61e94806b37ca3dd549.js.LICENSE.txt} +0 -0
  178. /package/assets/esri/core/workers/chunks/{eca0736953a20cfc64ad.js.LICENSE.txt → d0c8630177d3a4e316f1.js.LICENSE.txt} +0 -0
  179. /package/assets/esri/core/workers/chunks/{856dba96332509fb1d7a.js.LICENSE.txt → ead4143d811aab610e00.js.LICENSE.txt} +0 -0
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9187],{79187(t,s,i){i.r(s),i.d(s,{Envelope2D:()=>r});var e=i(55537),n=i(83661);class r{m_EnvelopeType=2;xmin;ymin;xmax;ymax;static construct(t,s,i,e){return new r(t,s,i,e)}constructor(t,s,i,e){void 0===t?(this.xmin=Number.NaN,this.ymin=Number.NaN,this.xmax=Number.NaN,this.ymax=Number.NaN):"number"==typeof t?(this.xmin=t,this.ymin=s,this.xmax=i,this.ymax=e):(this.xmin=t.xmin,this.ymin=t.ymin,this.xmax=t.xmax,this.ymax=t.ymax),this.normalize()}static constructEmpty(){return new r(Number.NaN,Number.NaN,Number.NaN,Number.NaN)}clone(){return new r(this)}assign(t){return this.xmin=t.xmin,this.xmax=t.xmax,this.ymin=t.ymin,this.ymax=t.ymax,this}width(){return this.xmax-this.xmin}height(){return this.ymax-this.ymin}maxDimension(){return Math.max(this.width(),this.height())}minDimension(){return Math.min(this.width(),this.height())}sqrDiagonal(){const t=this.width(),s=this.height();return t*t+s*s}diagonal(){return Math.sqrt(this.sqrDiagonal())}getCenterX(){return.5*(this.xmin+this.xmax)}getCenterY(){return.5*(this.ymin+this.ymax)}getCenter(){return n.P.construct(this.getCenterX(),this.getCenterY())}queryCenter(t){t.x=.5*(this.xmin+this.xmax),t.y=.5*(this.ymin+this.ymax)}setEmpty(){this.xmin=Number.NaN,this.ymin=Number.NaN,this.xmax=Number.NaN,this.ymax=Number.NaN}setInfinite(){this.xmin=Number.NEGATIVE_INFINITY,this.xmax=Number.POSITIVE_INFINITY,this.ymin=Number.NEGATIVE_INFINITY,this.ymax=Number.POSITIVE_INFINITY}isDegenerate(t){return!this.isEmpty()&&(this.width()<=t||this.height()<=t)}isZero(){return!(this.isEmpty()||this.width()&&this.height())}isEmpty(){return Number.isNaN(this.xmin)||Number.isNaN(this.ymin)||Number.isNaN(this.xmax)||Number.isNaN(this.ymax)}mergeNeCoords(t,s){this.xmin>t?this.xmin=t:this.xmax<t&&(this.xmax=t),this.ymin>s?this.ymin=s:this.ymax<s&&(this.ymax=s)}mergeNe(t){this.mergeNeCoords(t.x,t.y)}mergeCoords(t,s){this.isEmpty()?(this.xmin=t,this.ymin=s,this.xmax=t,this.ymax=s):(this.xmin>t?this.xmin=t:this.xmax<t&&(this.xmax=t),this.ymin>s?this.ymin=s:this.ymax<s&&(this.ymax=s))}merge(t){this.mergeCoords(t.x,t.y)}mergeEnvelope2D(t){t.isEmpty()||(this.mergeCoords(t.xmin,t.ymin),this.mergeNeCoords(t.xmax,t.ymax))}mergePoints(t,s){for(let i=0;i<s;){if(!this.isEmpty()){for(let e=i;e<s;e++)this.mergeNe(t[e]);break}this.setCoords(t[i]),i++}}mergePointsInterleaved(t,s,i){for(let e=2*s,n=e+2*i;e<n;e+=2)this.mergeCoords(t.read(e),t.read(e+1))}inflateCoords(t,s){this.isEmpty()||(this.xmin-=t,this.xmax+=t,this.ymin-=s,this.ymax+=s,(this.xmin>this.xmax||this.ymin>this.ymax)&&this.setEmpty())}getInflatedCoords(t,s){const i=this.clone();return i.inflateCoords(t,s),i}inflate(t){this.inflateCoords(t,t)}getInflated(t){const s=this.clone();return s.inflateCoords(t,t),s}zoom(t,s){this.isEmpty()||this.setCoords({center:this.getCenter(),width:t*this.width(),height:s*this.height()})}scale(t){t<0&&this.setEmpty(),this.xmin*=t,this.xmax*=t,this.ymin*=t,this.ymax*=t}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(s?Math.abs(this.xmin-t.xmin)<=s&&Math.abs(this.ymin-t.ymin)<=s&&Math.abs(this.xmax-t.xmax)<=s&&Math.abs(this.ymax-t.ymax)<=s:this.xmin===t.xmin&&this.ymin===t.ymin&&this.xmax===t.xmax&&this.ymax===t.ymax)}setCoords(t){void 0!==t.xmin?(this.xmin=t.xmin,this.xmax=t.xmax,this.ymin=t.ymin,this.ymax=t.ymax):void 0!==t.x?(this.xmin=t.x,this.xmax=t.x,this.ymin=t.y,this.ymax=t.y):void 0!==t.pt1?(this.xmin=t.pt1.x,this.ymin=t.pt1.y,this.xmax=t.pt2.x,this.ymax=t.pt2.y,this.normalize()):void 0!==t.env2D?(this.xmin=t.env2D.xmin,this.xmax=t.env2D.xmax,this.ymin=t.env2D.ymin,this.ymax=t.env2D.ymax,this.normalize()):void 0!==t.pt?(this.xmin=t.pt.x,this.xmax=t.pt.x,this.ymin=t.pt.y,this.ymax=t.pt.y):void 0!==t.center?(this.xmin=t.center.x-.5*t.width,this.xmax=this.xmin+t.width,this.ymin=t.center.y-.5*t.height,this.ymax=this.ymin+t.height,this.normalize()):(0,e.t)("unrecognized input type for setCoords"),this.normalize()}queryIntervalX(t){this.isEmpty()?t.setEmpty():t.setCoords(this.xmin,this.xmax)}queryIntervalY(t){this.isEmpty()?t.setEmpty():t.setCoords(this.ymin,this.ymax)}setFromPoints(t,s){if(0===s)return void this.setEmpty();if(Array.isArray(t)){const i=t;this.setCoords(i[0]);for(let t=1;t<s;){if(!this.isEmpty()){for(let e=t;e<s;e++)this.mergeNe(i[e]);return}this.setCoords(i[t]),t++}return}const i=t;this.setCoords({x:i[0],y:i[1]});for(let t=1,e=2*s;t<e;t+=2){if(!this.isEmpty()){for(let e=t,n=2*s;e<n;e+=2)this.mergeNeCoords(i[e],i[e+1]);return}this.setCoords({x:i[t],y:i[t+1]}),t+=2}}normalize(){let t=!1;this.xmin<=this.xmax||([this.xmin,this.xmax]=[this.xmax,this.xmin],t=!0),this.ymin<=this.ymax||([this.ymin,this.ymax]=[this.ymax,this.ymin],t=!0),!t||this.xmin<=this.xmax&&this.ymin<=this.ymax||this.setEmpty()}isValid(){return this.isEmpty()||this.xmin<=this.xmax&&this.ymin<=this.ymax}getLowerLeft(){return new n.P(this.xmin,this.ymin)}getLowerRight(){return new n.P(this.xmax,this.ymin)}getUpperLeft(){return new n.P(this.xmin,this.ymax)}getUpperRight(){return new n.P(this.xmax,this.ymax)}move(t,s){this.isEmpty()||(this.xmin+=t,this.ymin+=s,this.xmax+=t,this.ymax+=s)}centerAtCoords(t,s){this.move(t-this.getCenterX(),s-this.getCenterY())}centerAt(t){this.centerAtCoords(t.x,t.y)}containsCoords(t,s){return t>=this.xmin&&t<=this.xmax&&s>=this.ymin&&s<=this.ymax}contains(t){return this.containsCoords(t.x,t.y)}containsEnvelope(t){return t.xmin>=this.xmin&&t.xmax<=this.xmax&&t.ymin>=this.ymin&&t.ymax<=this.ymax}containsExclusiveCoords(t,s){return t>this.xmin&&t<this.xmax&&s>this.ymin&&s<this.ymax}containsExclusive(t){return this.containsExclusiveCoords(t.x,t.y)}containsExclusiveEnvelope(t){return t.xmin>this.xmin&&t.xmax<this.xmax&&t.ymin>this.ymin&&t.ymax<this.ymax}isIntersecting(t){return(this.xmin<=t.xmin?this.xmax>=t.xmin:t.xmax>=this.xmin)&&(this.ymin<=t.ymin?this.ymax>=t.ymin:t.ymax>=this.ymin)}isIntersectingNe(t){return(this.xmin<=t.xmin?this.xmax>=t.xmin:t.xmax>=this.xmin)&&(this.ymin<=t.ymin?this.ymax>=t.ymin:t.ymax>=this.ymin)}intersect(t){if(this.isEmpty())return!1;if(t.isEmpty())return this.setEmpty(),!1;t.xmin>this.xmin&&(this.xmin=t.xmin),t.xmax<this.xmax&&(this.xmax=t.xmax),t.ymin>this.ymin&&(this.ymin=t.ymin),t.ymax<this.ymax&&(this.ymax=t.ymax);const s=this.xmin<=this.xmax&&this.ymin<=this.ymax;return s||this.setEmpty(),s}queryCorner(t){switch(3&t){case 0:return new n.P(this.xmin,this.ymin);case 1:return new n.P(this.xmin,this.ymax);case 2:return new n.P(this.xmax,this.ymax);default:return new n.P(this.xmax,this.ymin)}}queryCorners(t){t[0].setCoords(this.xmin,this.ymin),t[1].setCoords(this.xmin,this.ymax),t[2].setCoords(this.xmax,this.ymax),t[3].setCoords(this.xmax,this.ymin)}queryCornersReversed(t){t[0].setCoords(this.xmin,this.ymin),t[1].setCoords(this.xmax,this.ymin),t[2].setCoords(this.xmax,this.ymax),t[3].setCoords(this.xmin,this.ymax)}reaspect(t,s){if(this.isEmpty())return;const i=t/s,e=.5*this.width(),n=.5*this.height()*i;if(e<=n){const t=this.getCenterX();this.xmin=t-n,this.xmax=t+n}else{const t=e/i,s=this.getCenterY();this.ymin=s-t,this.ymax=s+t}this.normalize()}getArea(){return this.isEmpty()?0:this.width()*this.height()}getLength(){return this.isEmpty()?0:2*(this.width()+this.height())}clipCode(t){return(t.x<this.xmin?1:0)|(t.x>this.xmax?1:0)<<1|(t.y<this.ymin?1:0)<<2|(t.y>this.ymax?1:0)<<3}static XLESSXMIN=1;static YLESSYMIN=4;static XMASK=3;static YMASK=12;clipLine(t,s){let i=this.clipCode(t),e=this.clipCode(s);if(i&e)return 0;if(!(i|e))return 4;const n=(i?1:0)|(e?2:0);do{const n=s.x-t.x,h=s.y-t.y;if(Math.abs(n)>Math.abs(h)?i&r.XMASK?(i&r.XLESSXMIN?(t.y+=h*(this.xmin-t.x)/n,t.x=this.xmin):(t.y+=h*(this.xmax-t.x)/n,t.x=this.xmax),i=this.clipCode(t)):e&r.XMASK?(e&r.XLESSXMIN?(s.y+=h*(this.xmin-s.x)/n,s.x=this.xmin):(s.y+=h*(this.xmax-s.x)/n,s.x=this.xmax),e=this.clipCode(s)):i?(i&r.YLESSYMIN?(t.x+=n*(this.ymin-t.y)/h,t.y=this.ymin):(t.x+=n*(this.ymax-t.y)/h,t.y=this.ymax),i=this.clipCode(t)):(e&r.YLESSYMIN?(s.x+=n*(this.ymin-s.y)/h,s.y=this.ymin):(s.x+=n*(this.ymax-s.y)/h,s.y=this.ymax),e=this.clipCode(s)):i&r.YMASK?(i&r.YLESSYMIN?(t.x+=n*(this.ymin-t.y)/h,t.y=this.ymin):(t.x+=n*(this.ymax-t.y)/h,t.y=this.ymax),i=this.clipCode(t)):e&r.YMASK?(e&r.YLESSYMIN?(s.x+=n*(this.ymin-s.y)/h,s.y=this.ymin):(s.x+=n*(this.ymax-s.y)/h,s.y=this.ymax),e=this.clipCode(s)):i?(i&r.XLESSXMIN?(t.y+=h*(this.xmin-t.x)/n,t.x=this.xmin):(t.y+=h*(this.xmax-t.x)/n,t.x=this.xmax),i=this.clipCode(t)):(e&r.XLESSXMIN?(s.y+=h*(this.xmin-s.x)/n,s.x=this.xmin):(s.y+=h*(this.xmax-s.x)/n,s.x=this.xmax),e=this.clipCode(s)),i&e)return 0}while(i|e);return n}distanceFromEnvelope(t){return Math.sqrt(this.sqrDistanceEnvelope(t,null,null))}distance(t){return Math.sqrt(this.sqrDistance(t))}sqrDistanceEnvelope(t,s,i){if(!s&&!i){if(this.isEmpty()||t.isEmpty())return Number.NaN;let s,i=0,e=0;return s=this.xmin-t.xmax,s>i&&(i=s),s=this.ymin-t.ymax,s>e&&(e=s),s=t.xmin-this.xmax,s>i&&(i=s),s=t.ymin-this.ymax,s>e&&(e=s),i*i+e*e}if(this.isEmpty()||t.isEmpty())return s&&s.setNAN(),i&&i.setNAN(),Number.NaN;let e,n=0,r=0;const h=Math.max(this.xmin,t.xmin),u=Math.max(this.ymin,t.ymin);return s&&s.setCoords(h,u),i&&i.setCoords(h,u),e=this.xmin-t.xmax,e>n&&(n=e,s&&(s.x=this.xmin),i&&(i.x=t.xmax)),e=this.ymin-t.ymax,e>r&&(r=e,s&&(s.y=this.ymin),i&&(i.y=t.ymax)),e=t.xmin-this.xmax,e>n&&(n=e,s&&(s.x=this.xmax),i&&(i.x=t.xmin)),e=t.ymin-this.ymax,e>r&&(r=e,s&&(s.y=this.ymax),i&&(i.y=t.ymin)),n*n+r*r}sqrDistance(t,s){if(void 0===s){if(this.isEmpty()||t.isNAN())return Number.NaN;let s,i=0,e=0;return s=this.xmin-t.x,s>i&&(i=s),s=this.ymin-t.y,s>e&&(e=s),s=t.x-this.xmax,s>i&&(i=s),s=t.y-this.ymax,s>e&&(e=s),i*i+e*e}if(this.isEmpty()||t.isNAN())return s.setNAN(),Number.NaN;s.assign(t);let i,e=0,n=0;return i=this.xmin-t.x,i>e&&(e=i,s.x=this.xmin),i=this.ymin-t.y,i>n&&(n=i,s.y=this.ymin),i=t.x-this.xmax,i>e&&(e=i,s.x=this.xmax),i=t.y-this.ymax,i>n&&(n=i,s.y=this.ymax),e*e+n*n}sqrMaxMinDistanceEnvelope(t){if(this.isEmpty()||t.isEmpty())return Number.NaN;let s=Number.MAX_VALUE;{const i=n.P.sqrDistanceCoords(this.xmin,this.ymin,t.xmax,t.ymin),e=n.P.sqrDistanceCoords(this.xmin,this.ymin,t.xmax,t.ymax),r=n.P.sqrDistanceCoords(this.xmin,this.ymax,t.xmax,t.ymin),h=n.P.sqrDistanceCoords(this.xmin,this.ymax,t.xmax,t.ymax),u=Math.max(i,e),m=Math.max(r,h),a=Math.max(u,m);s=Math.min(a,s)}{const i=n.P.sqrDistanceCoords(this.xmin,this.ymin,t.xmin,t.ymax),e=n.P.sqrDistanceCoords(this.xmin,this.ymin,t.xmax,t.ymax),r=n.P.sqrDistanceCoords(this.xmax,this.ymin,t.xmin,t.ymax),h=n.P.sqrDistanceCoords(this.xmax,this.ymin,t.xmax,t.ymax),u=Math.max(i,e),m=Math.max(r,h),a=Math.max(u,m);s=Math.min(a,s)}{const i=n.P.sqrDistanceCoords(this.xmax,this.ymin,t.xmin,t.ymin),e=n.P.sqrDistanceCoords(this.xmax,this.ymin,t.xmin,t.ymax),r=n.P.sqrDistanceCoords(this.xmax,this.ymax,t.xmin,t.ymin),h=n.P.sqrDistanceCoords(this.xmax,this.ymax,t.xmin,t.ymax),u=Math.max(i,e),m=Math.max(r,h),a=Math.max(u,m);s=Math.min(a,s)}{const i=n.P.sqrDistanceCoords(this.xmin,this.ymax,t.xmin,t.ymin),e=n.P.sqrDistanceCoords(this.xmin,this.ymax,t.xmax,t.ymin),r=n.P.sqrDistanceCoords(this.xmax,this.ymax,t.xmin,t.ymin),h=n.P.sqrDistanceCoords(this.xmax,this.ymax,t.xmax,t.ymin),u=Math.max(i,e),m=Math.max(r,h),a=Math.max(u,m);s=Math.min(a,s)}return s}sqrMaxDistanceEnvelope(t){if(this.isEmpty()||t.isEmpty())return Number.NaN;let s=0;const i=(0,n.m)(n.P,4);this.queryCorners(i);const e=(0,n.m)(n.P,4);t.queryCorners(e);for(let t=0;t<4;t++)for(let r=0;r<4;r++){const h=n.P.sqrDistance(i[t],e[r]);h>s&&(s=h)}return s}sqrMaxMinDistance(t){const s=n.P.sqrDistance(t,this.getLowerLeft()),i=n.P.sqrDistance(t,this.getUpperLeft()),e=n.P.sqrDistance(t,this.getLowerRight()),r=n.P.sqrDistance(t,this.getUpperRight());let h,u=Math.max(s,i);return h=Math.max(s,e),u>h&&(u=h),h=Math.max(i,r),u>h&&(u=h),h=Math.max(e,r),u>h&&(u=h),u}sqrMinDistance(t){return this.contains(t)?0:this.sqrDistance(t)}sqrMaxDistance(t){let s=n.P.sqrDistance(t,this.getLowerLeft());return s=Math.max(n.P.sqrDistance(t,this.getUpperLeft()),s),s=Math.max(n.P.sqrDistance(t,this.getUpperRight()),s),s=Math.max(n.P.sqrDistance(t,this.getLowerRight()),s),s}snapToBoundary(t){if(t.isNAN())return!1;if(this.isEmpty())return t.setNAN(),!0;let s=!0;if(t.x<this.xmin?t.x=this.xmin:t.x>this.xmax?t.x=this.xmax:s=!1,t.y<this.ymin?t.y=this.ymin:t.y>this.ymax?t.y=this.ymax:s=!1,s)return!0;if(t.x===this.xmin||t.x===this.xmax||t.y===this.ymin||t.y===this.ymax)return!1;const i=this.xmax-t.x,e=t.x-this.xmin,n=this.ymax-t.y,r=t.y-this.ymin;return Math.max(i,e)>Math.max(n,r)?t.y=r<n?this.ymin:this.ymax:t.x=e<i?this.xmin:this.xmax,!0}snapClip(t){const s=(0,n.s)(t.x,this.xmin,this.xmax),i=(0,n.s)(t.y,this.ymin,this.ymax);return n.P.construct(s,i)}boundaryDistance(t){if(this.isEmpty()||t.isNAN())return Number.NaN;if(t.x===this.xmin)return t.y-this.ymin;const s=this.ymax-this.ymin,i=this.xmax-this.xmin;if(t.y===this.ymax)return s+t.x-this.xmin;if(t.x===this.xmax)return s+i+this.ymax-t.y;if(t.y===this.ymin)return 2*s+i+this.xmax-t.x;const e=new n.P;return e.setCoordsPoint2D(t),this.snapToBoundary(e),this.boundaryDistance(e)}envelopeSide(t){if(this.isEmpty())return-1;let s=this.boundaryDistance(t);const i=this.ymax-this.ymin,e=this.xmax-this.xmin;return s<i?0:(s-=i)<e?1:s-e<i?2:3}querySide(t,s){switch(t){case 0:s.constructFromCoords(this.xmin,this.ymin,this.xmin,this.ymax);break;case 1:s.constructFromCoords(this.xmin,this.ymax,this.xmax,this.ymax);break;case 2:s.constructFromCoords(this.xmax,this.ymax,this.xmax,this.ymin);break;case 3:s.constructFromCoords(this.xmax,this.ymin,this.xmin,this.ymin);break;default:(0,e.a)("query_side")}return s}isPointOnBoundary(t,s){return Math.abs(t.x-this.xmin)<=s||Math.abs(t.x-this.xmax)<=s||Math.abs(t.y-this.ymin)<=s||Math.abs(t.y-this.ymax)<=s}calculateToleranceFromEnvelope(){return this.isEmpty()?(0,n.g)():(Math.abs(this.xmin)+Math.abs(this.xmax)+Math.abs(this.ymin)+Math.abs(this.ymax)+1)*(0,n.g)()}toString(){return`[${this.xmin}, ${this.ymin}, ${this.xmax}, ${this.ymax}]`}}},55537(t,s,i){function e(t,s){try{if(!t)throw new Error(s)}catch(t){throw t}}i.d(s,{A:()=>S,B:()=>z,C:()=>C,D:()=>F,G:()=>o,a:()=>T,b:()=>w,c:()=>R,d:()=>A,e:()=>E,f:()=>y,g:()=>e,h:()=>v,i:()=>b,j:()=>_,k:()=>p,l:()=>d,m:()=>f,n:()=>g,o:()=>M,p:()=>L,q:()=>D,r:()=>q,s:()=>B,t:()=>P,u:()=>x,v:()=>N,w:()=>I,x:()=>k,y:()=>G,z:()=>Z});class n extends Error{constructor(t,s){super(s),this.m_AdditionalMessage=s,this.m_ErrorType=t,this.name="GeometryError"}what(){return function(t){switch(t){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}m_AdditionalMessage;m_ErrorType}class r extends n{constructor(t){super(2,t),this.name="CorruptedGeometryError"}}class h extends n{constructor(t){super(3,t),this.name="EmptyGeometryError"}}class u extends n{constructor(t){super(4,t),this.name="MathSingularityError"}}class m extends n{constructor(t){super(21,t),this.name="ProjectionEngineNotLoadedError"}}class a extends n{constructor(t){super(8,t),this.name="NonSimpleGeometryError"}}var o,c;(c=o||(o={}))[c.enumUnknown=0]="enumUnknown",c[c.enumPoint=513]="enumPoint",c[c.enumLine=5122]="enumLine",c[c.enumBezier=5123]="enumBezier",c[c.enumEllipticArc=5124]="enumEllipticArc",c[c.enumEnvelope=3077]="enumEnvelope",c[c.enumMultiPoint=8710]="enumMultiPoint",c[c.enumPolyline=25607]="enumPolyline",c[c.enumPolygon=27656]="enumPolygon",c[c.enumMultipatch=40969]="enumMultipatch",c[c.enumGeometryCollection=3594]="enumGeometryCollection",c[c.enumRationalBezier2=5134]="enumRationalBezier2",c[c.enumBezier2=5135]="enumBezier2",c[c.enumRationalBezier23d=5392]="enumRationalBezier23d",c[c.enumGreatArc3d=5393]="enumGreatArc3d";const l=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function x(t){return l[15&t]}function y(t){return!!(512&t)}function f(t){return!!(1024&t)}function d(t){return!!(2048&t)}function v(t){return!!(4096&t)}function b(t){return!!(8192&t)}function _(t){return!!(16384&t)}function p(t){return!!(32768&t)}function N(t){const s=t.getGeometryType();return b(s)?t.getPointCount():t.isEmpty()?0:s===o.enumEnvelope?4:s===o.enumPoint?1:v(s)?2:void A("missing type")}function g(t){const s=t.getGeometryType();if(_(s))return t.hasNonLinearSegments();if(s===o.enumGeometryCollection){const s=t;for(let t=0,i=s.getGeometryCount();t<i;t++)if(g(s.getGeometry(t)))return!0;return!1}return!!v(s)&&s!==o.enumLine}function E(t){throw new m(t)}function M(t){throw new r(t)}function T(t){throw new Error(t)}function w(t){throw new u(t)}function I(){T("Geometry type is not supported for 3D operations.")}function D(t){throw new n(12,t)}function C(t){throw new h(t)}function P(t){throw new n(14,t)}function q(t){throw new Error(t)}function A(t){throw new n(13,t)}function z(t){throw new Error(t)}function S(t){throw new a(t)}function L(t){t&&g(t)&&P("Operation does not support curves.")}function R(t){t&&p(t.getGeometryType())&&P("Unsupported geometry type.")}function Z(t){t===o.enumGeometryCollection&&T("Geometry_collection instances are not supported in this operation")}function B(t){Z(t.getGeometryType())}function k(t){T(`bad wkid: ${t}`)}function G(t){let s="bad wkt: ";s+=t,s+="...",T(s)}function F(t,s){t||T(s)}},83661(t,s,i){i.d(s,{$:()=>c,A:()=>M,B:()=>ms,C:()=>ls,D:()=>Pt,E:()=>a,F:()=>Dt,G:()=>jt,H:()=>I,I:()=>ps,J:()=>R,K:()=>n,L:()=>us,M:()=>As,N:()=>Et,O:()=>as,P:()=>Gs,Q:()=>Bs,R:()=>Zs,S:()=>St,T:()=>ys,U:()=>fs,V:()=>ks,X:()=>Es,Y:()=>pt,Z:()=>Wt,_:()=>T,a:()=>B,a0:()=>cs,a1:()=>Ot,a2:()=>bs,a3:()=>os,a4:()=>xt,a5:()=>_t,a6:()=>_s,a7:()=>$t,a8:()=>Kt,aA:()=>N,aB:()=>it,aE:()=>ct,aF:()=>Ps,aG:()=>Nt,aH:()=>U,aI:()=>k,aJ:()=>at,aK:()=>G,aL:()=>ss,aM:()=>ft,aa:()=>Ct,ab:()=>Ns,ac:()=>kt,ad:()=>Is,ae:()=>lt,ah:()=>zt,ai:()=>S,aj:()=>L,ak:()=>bt,al:()=>P,am:()=>Ts,an:()=>Cs,ao:()=>D,ap:()=>C,aq:()=>q,ar:()=>A,au:()=>Ms,av:()=>ws,aw:()=>et,ax:()=>nt,ay:()=>wt,az:()=>p,b:()=>yt,c:()=>dt,d:()=>At,e:()=>F,f:()=>w,g:()=>vs,h:()=>Mt,i:()=>ts,j:()=>Jt,m:()=>It,o:()=>Lt,p:()=>st,q:()=>qt,r:()=>z,s:()=>gs,t:()=>Ht,u:()=>Y,v:()=>gt,w:()=>vt,x:()=>Tt,y:()=>Z,z:()=>g});var e=i(55537);class n{constructor(t){this.sum=t,this.compensation=0}assign(t){return this.compensation=t.compensation,this.sum=t.sum,this}reset(){this.sum=this.compensation=0}resetToStart(t){this.sum=t,this.compensation=0}normalize(){const t=[Number.NaN];this.sum=tt(this.sum,this.compensation,t),this.compensation=t[0]}add(t){const s=this.sum+t;let i;if(Math.abs(this.sum)>=Math.abs(t)){const e=this.sum-s+t;i=this.compensation+e}else{const e=t-s+this.sum;i=this.compensation+e}this.sum=s,this.compensation=i}sub(t){this.add(-t)}addProduct(t,s){const i=[0],e=$(t,s,i);this.add(e),this.add(i[0])}mul(t){const s=new n(0);s.addProduct(this.sum,t),s.addProduct(this.compensation,t),this.assign(s)}getResult(){return this.sum+this.compensation}pe(t){return this.add(t),this}me(t){return this.add(-t),this}sum;compensation}const r=[5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1],h=[-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3];function u(t){let s=0;return 65535n&t||(s+=16,t>>=16n),255n&t||(s+=8,t>>=8n),15n&t||(s+=4,t>>=4n),s+r[Number(BigInt.asUintN(4,t))]}function m(t){let s=0;return 4294967295n&t||(s=32,t>>=32n),s+u(BigInt.asUintN(32,t))}class a{m_EnvelopeType=1;vmin;vmax;constructor(t,s){if(void 0!==t){if(t instanceof a)return this.vmin=t.vmin,void(this.vmax=t.vmax);this.vmin=t,this.vmax=s,this.normalize()}else this.setEmpty()}static construct(t,s){return new a(t,s)}static constructEmpty(){return new a}setCoords(t,s){this.vmin=t,this.vmax=s,this.normalize()}setCoordsFromEnvelope(t){this.vmin=t.vmin,this.vmax=t.vmax}setEmpty(){this.vmin=Number.NaN,this.vmax=Number.NaN}getCenter(){return.5*(this.vmin+this.vmax)}equalsRange(t,s){return jt(this.vmin,t)&&jt(this.vmax,s)}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(void 0!==s?Math.abs(this.vmin-t.vmin)<=s&&Math.abs(this.vmax-t.vmax)<=s:this.vmin===t.vmin&&this.vmax===t.vmax)}width(){return this.vmax-this.vmin}isEmpty(){return Number.isNaN(this.vmin)||Number.isNaN(this.vmax)}isZero(){return this.vmin===this.vmax}setInfinite(){this.vmin=Number.NEGATIVE_INFINITY,this.vmax=Number.POSITIVE_INFINITY}move(t){this.isEmpty()||(this.vmin+=t,this.vmax+=t)}contains(t){return t.vmin>=this.vmin&&t.vmax<=this.vmax}containsCoordinate(t){return t>=this.vmin&&t<=this.vmax}containsRightExclusive(t){return t>=this.vmin&&t<this.vmax}containsExclusiveCoordinate(t){return t>this.vmin&&t<this.vmax}containsExclusive(t){return t.vmin>this.vmin&&t.vmax<this.vmax}isIntersecting(t){return this.vmin<=t.vmin?this.vmax>=t.vmin:t.vmax>=this.vmin}mergeCoordinate(t){if(this.isEmpty())return this.vmin=t,void(this.vmax=t);this.mergeNeCoordinate(t)}merge(t){if(t.isEmpty())return;const s=t.vmin,i=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(i)}mergeNe(t){const s=t.vmin,i=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(i)}mergeNeCoordinate(t){t<this.vmin?this.vmin=t:t>this.vmax&&(this.vmax=t)}intersect(t){this.isEmpty()||t.isEmpty()?this.setEmpty():(this.vmin<t.vmin&&(this.vmin=t.vmin),this.vmax>t.vmax&&(this.vmax=t.vmax),this.vmin>this.vmax&&this.setEmpty())}inflate(t){this.isEmpty()||(this.vmin-=t,this.vmax+=t,this.vmax<this.vmin&&this.setEmpty())}normalize(){this.vmin<=this.vmax||(this.vmin>this.vmax?this.vmax=dt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return gs(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){return this.isEmpty()?vs():(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*vs()}static unit(){return o}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=dt(this.vmin,this.vmin=this.vmax))}setCoordsNoNAN(t,s){this.vmin=t,this.vmax=s,this.normalizeNoNAN()}clone(){return new a(this.vmin,this.vmax)}}const o=new a(0,1);class c{m_value;m_eps;static getNAN(){return new c(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new c(this.m_value,this.m_eps)}assign(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}scaleError(t){this.m_eps*=t}setError(t){this.m_eps=t}set(t,s){return this.m_value=t,this.m_eps=s??0,this}setWithEps(t,s){return void 0===s&&(s=1),this.m_value=t,this.m_eps=c.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new c(this.m_value)}value(){return this.m_value}toDouble(){return this.m_value}eps(){return this.m_eps}resetError(){return this.m_eps=0,this}absThis(){return this.m_value=Math.abs(this.m_value),this}add(t){return this.clone().addThis(t)}addE(t){return this.clone().addThisE(t)}addThisE(t){const s=this.m_value+t.m_value,i=this.m_eps+t.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}addThis(t){const s=this.m_value+t,i=this.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}subE(t){return this.clone().subThisE(t)}sub(t){return this.clone().subThis(t)}subThisE(t){const s=this.m_value-t.m_value,i=this.m_eps+t.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}subThis(t){const s=this.m_value-t,i=this.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+c.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=c.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+c.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+c.ulp(this.m_value),this}setSubE(t,s){return this.m_value=t.m_value-s.m_value,this.m_eps=t.m_eps+s.m_eps+c.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=c.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+c.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+c.ulp(this.m_value),this}mulThisE(t){const s=this.m_value*t.m_value;return this.m_eps=this.m_eps*Math.abs(t.m_value)+t.m_eps*Math.abs(this.m_value)+this.m_eps*t.m_eps+c.ulp(s),this.m_value=s,this}mulThis(t){const s=this.m_value*t;return this.m_eps=this.m_eps*Math.abs(t)+c.ulp(s),this.m_value=s,this}mul(t){return this.clone().mulThis(t)}mulE(t){return this.clone().mulThisE(t)}setMulE(t,s){const i=t.m_value*s.m_value;return this.m_eps=t.m_eps*Math.abs(s.m_value)+s.m_eps*Math.abs(t.m_value)+t.m_eps*s.m_eps+c.ulp(i),this.m_value=i,this}setMul(t,s){return this.m_value=t*s,this.m_eps=c.ulp(this.m_value),this}setMulEN(t,s){return this.setE(t),this.mulThis(s)}setMulNE(t,s){return this.setE(s),this.mulThis(t)}mulThisByPower2(t){return this.m_value*=t,this.m_eps*=Math.abs(t),this}static st_mulByPower2(t,s){return new c(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),i=this.m_value/t.m_value;let e=(this.m_eps+Math.abs(i)*t.m_eps)/s;if(t.m_eps>.01*s){const i=t.m_eps/s;e*=1+(1+i)*i}return this.m_value=i,this.m_eps=e+c.ulp(i),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+c.ulp(this.m_value),this}setDivE(t,s){return this.setE(t),this.divThisE(s)}setDiv(t,s){return this.m_value=t/s,this.m_eps=c.ulp(this.m_value),this}setDivEN(t,s){return this.setE(t),this.divThis(s)}setDivNE(t,s){return this.set(t),this.divThisE(s)}divThisByPower2(t){return this.m_value/=t,this.m_eps/=Math.abs(t),this}invThis(){return this.setE(b.clone().divThisE(this)),this}sqrt(){return this.clone().sqrtThis()}sqrtThis(){let t,s;return this.m_value>=0?(t=Math.sqrt(this.m_value),s=this.m_value>10*this.m_eps?.5*this.m_eps/t:this.m_value>this.m_eps?t-Math.sqrt(this.m_value-this.m_eps):Math.max(t,Math.sqrt(this.m_value+this.m_eps)-t),s+=c.ulp(t)):this.m_value<-this.m_eps?(t=Number.NaN,s=Number.NaN):(t=0,s=Math.sqrt(this.m_eps)),this.m_value=t,this.m_eps=s,this}sqr(){return this.clone().sqrThis()}sqrThis(){const t=this.m_value*this.m_value;return this.m_eps=2*this.m_eps*Math.abs(this.m_value)+this.m_eps*this.m_eps+c.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=s;const e=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(i)+.5*e*t.m_eps)*t.m_eps+c.ulp(e+n),this}static ulp(t){let s=Xt(t);const i=((0x7ff0000000000000n&s)>>52n)-1075n;return i>-1023n?(s=i+0x3ffn<<52n,function(t){return Yt[0]=t,Ft[0]}(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=i;const e=Math.abs(i),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*e*t.m_eps)*t.m_eps+c.ulp(e+n),this}static st_cosAndSin(t,s,i){const e=Math.sin(t.m_value),n=Math.cos(t.m_value);i.m_value=e,s.m_value=n;const r=Math.abs(e),h=Math.abs(n),u=Math.abs(t.value());i.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+c.ulp(r+u),s.m_eps=(Math.abs(e)+.5*h*t.m_eps)*t.m_eps+c.ulp(h+u)}negate(){return this.clone().negateThis()}negateThis(){return this.m_value=-this.m_value,this}setAbs(){return this.m_value=Math.abs(this.m_value),this}isInInterval(t){return a.construct(this.m_value-this.m_eps,this.m_value+this.m_eps).isIntersecting(t)}isInIntervalExclusive(t){const s=t.vmin+this.m_eps,i=t.vmax-this.m_eps;return s<this.m_value&&i>this.m_value}eq(t){return Math.abs(this.m_value-t.m_value)<=this.m_eps+t.m_eps}ne(t){return!this.eq(t)}gt(t){return this.m_value-t.m_value>this.m_eps+t.m_eps}lt(t){return t.m_value-this.m_value>this.m_eps+t.m_eps}ge(t){return!this.lt(t)}le(t){return!this.gt(t)}tolEQ(t,s){return Math.abs(this.m_value-t.m_value)<=s||this.eq(t)}tolNE(t,s){return!this.tolEQ(t,s)}tolGT(t,s){return this.m_value-t.m_value>s&&this.gt(t)}tolLT(t,s){return t.m_value-this.m_value>s&&this.lt(t)}tolGE(t,s){return!this.tolLT(t,s)}tolLE(t,s){return!this.tolGT(t,s)}isZero(){return Math.abs(this.m_value)<=this.m_eps}isFuzzyZero(){return this.isZero()&&0!==this.m_eps}tolIsZero(t){return Math.abs(this.m_value)<=Math.max(this.m_eps,t)}setPi(){this.setE(d)}setEuler(){this.set(2.718281828459045,f())}static dimensions=1;static size(){return 1}}function l(t,s){const i=Ut(t),e=Ut(s),n=53-m(i),r=53-m(e);return(n>=0?n:0)+(r>=0?r:0)<=52}function x(t,s){const i=t+s;return i-t===s&&i-s===t}function y(t,s){const i=t-s;return t-i===s&&s+i===t}function f(){return ps()}const d=new c(Math.PI,.5*f()),v=new c(0,0),b=new c(1,0),_=new c(4,0);function p(t,s,i){return t.addE(s.subE(t).mulE(i))}function N(t,s,i){return s.subE(s.subE(t).mulE(b.subE(i)))}function g(t){let s;if(0===t)s=1;else if(Math.abs(t)>.01)s=function(t){return Math.atanh(t)}(t)/t;else{let i;const e=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(e/Math.log(n)+2.5)-1;t>1;t-=2)i=1/t,s=(s+i)*n;s+=1}return s}function E(t){const s=Math.PI*Math.PI/6;let i;if(1===t)i=s;else if(t>1)i=s;else if(0===t)i=t;else if(t<0){const s=1+(t=Math.abs(t)),e=Math.log(s);i=e*e/-2-E(t/s)}else if(t>.5){const e=1-t,n=Math.log(t)*Math.log(e);i=s-E(e)-n}else{i=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let e=s;for(let n=s;n>0;n--,e-=1)i*=t,i+=1/(e*e);i*=t}return i}function M(t,s){const i=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=i,s+=1/t/t;return s*=t,s}return E(i)/s}function T(t,s){return t<s?Lt(t,s):Lt(s,t)}function w(t,s){const i=Math.abs(t);return s>=0?i:-i}function I(t){return Math.round(t)}function D(t,s,i,e,n){n[0]=s[0]+(i[0]-s[0])*e,n[1]=s[1]+(i[1]-s[1])*e,3===t&&(n[2]=s[2]+(i[2]-s[2])*e)}function C(t,s,i,e,n){n[0]=i[0]-(i[0]-s[0])*(1-e),n[1]=i[1]-(i[1]-s[1])*(1-e),3===t&&(n[2]=i[2]-(i[2]-s[2])*(1-e))}function P(t,s,i,e,n){e<=.5?D(t,s,i,e,n):C(t,s,i,e,n)}function q(t,s,i,e,n){n[0]=s[0].addE(i[0].subE(s[0]).mulE(e)),n[1]=s[1].addE(i[1].subE(s[1]).mulE(e))}function A(t,s,i,e,n){n[0]=i[0].subE(i[0].subE(s[0]).mulE(b.subE(e))),n[1]=i[1].subE(i[1].subE(s[1]).mulE(b.subE(e)))}function z(t,s,i){let e;return e=i<=.5?t+(s-t)*i:s-(s-t)*(1-i),e}function S(t,s,i){return t+(s-t)*i}function L(t,s,i){return s-(s-t)*(1-i)}function R(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i))}function Z(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i,e.z=t.z+(s.z-t.z)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i),e.z=s.z-(s.z-t.z)*(1-i))}function B(t){return t*t}function k(t){return t*t*t}function G(t){return 1/Math.sqrt(t)}function F(t){return t<0?-1:t>0?1:0}function Y(t,s,i,e){const n=[0],r=[0],h=[0];return tt($(t,i,n),$(s,e,r),h)+(n[0]+r[0]+h[0])}const O=[0],X=[0];function U(t,s,i){return function(t,s,i,e){const n=tt(t,s,J),r=tt(n,i,W);return tt(r,J[0]+W[0],e)}($(t,s,O),i,O[0],X)}const V=[0],Q=[0],j=[0],K=[0];function $(t,s,i){const e=t*s;return H(t,V,Q),H(s,j,K),i[0]=Q[0]*K[0]-(e-V[0]*j[0]-Q[0]*j[0]-V[0]*K[0]),e}function H(t,s,i){const e=134217729*t;s[0]=e-(e-t),i[0]=t-s[0]}const J=[0],W=[0];function tt(t,s,i){const e=t+s;return Math.abs(t)>Math.abs(s)?i[0]=t-e+s:i[0]=s-e+t,e}function st(t,s){return t%s}function it(t){const s=1-t;if(0===s)return 1;let i;if(s<=.01){const t=s,e=Math.log(t);i=1+t*(.4431471805599453-.25*e+t*(.05680519270997949-.09375*e+t*(.02183137044373718-.05859375*e+t*(.011544521417308362-.042724609375*e+t*(.00714200031339596-.0336456298828125*e+t*(.004854743337164948-.027757644653320312*e+t*(.003514687963781376-.023627042770385742*e)))))))}else{if(t<.016){const s=t,i=.25,e=.046875,n=.01953125,r=.01068115234375,h=.0067291259765625,u=.004626274108886719,m=.0033752918243408203,a=.0025710230693221092;return Is()*(1-s*(i+s*(e+s*(n+s*(r+s*(h+s*(u+s*(m+s*a))))))))}i=rt(0,s,1)-t*ht(0,s,1)/3}return gs(i,1,Is())}function et(t,s,i=Number.NaN){if((0,e.g)(s>=0&&s<=1),0===s)return t;let n=1,r=t;if(r<0&&(r=-r,n=-1),1===s){const t=Math.round(r/Ts()),s=r-t*Ts();return n*(2*t+Math.sin(s))}const h=Is(),u=Math.floor(r/h);1&u?r=(u+1)*h-r:r-=u*h;const m=Math.sin(r),a=Number.isNaN(i)?it(s):i;let o;if(1===m)o=a+Math.sqrt(1-s)*(r-h);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*ps())o=r*(1+t*s*(-1/6+t*((4-3*s)/120-(16+(45*s-60)*s)/5040*t)));else if(s<=.01){const t=Math.sin(2*r),i=Math.sin(4*r),e=Math.sin(6*r),n=Math.sin(8*r),h=Math.sin(10*r);o=r+s*((2*-r+t)/8+s*((-3*r+2*t-.25*i)/64+s*((-20*r+15*t-3*i+e/3)/1024+s*(5*(-140*r+112*t-28*i+16/3*e-.5*n)/65536+7*s*((-63*r+52.5*t-15*i+3.75*e-.625*n+.05*h)/65536+s*(-693*r+594*t-185.625*i+1.375*e-12.375*n+1.8*h-.125*Math.sin(12*r))/1048576)))))}else{const t=m*m,i=Math.cos(r),e=i*i,n=ut(m,i,s);o=m*(rt(e,n,1)-s*t*ht(e,n,1)/3)}}return 1&u?o=a*(u+1)-o:o+=a*u,n*o}function nt(t,s,i=Number.NaN){if(0===t)return 0;let e=1,n=t;t<0&&(n=-n,e=-1);const r=Number.isNaN(i)?it(s):i,h=Math.floor(n/r);1&h?n=(h+1)*r-n:n-=h*r;let u=n<=0?0:n>=r?Is():function(t,s,i){if(0===s)return t;if(1===s)return Math.asin(t);let e=0,n=!0;if(t<.2){const i=t*t,r=t*(1+i*s*(1/6+i*((13*s-4)/120+(16-284*s+493*s*s)/5040*i))),h=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(h<Math.abs(r)*ps())return r;e=r,n=h>.1*r}if(n){const n=1-s,r=1-t/i,h=Math.sqrt(r*r+n*n),u=Math.atan2(n,t+ps());e=Is()+Math.sqrt(h)*(u-Is())}let r=0;for(let n=0;n<7;n++){r=et(e,s,i);const h=ut(Math.sin(e),Math.cos(e),s);if(e-=(r-t)/Math.sqrt(h),n>0&&Math.abs(r-t)<=4*ps()*t)break}return e}(n,s,r);return 1&h?u=Is()*(h+1)-u:u+=Is()*h,e*u}function rt(t,s,i){(0,e.g)((0!==t?1:0)+(0!==s?1:0)+1>1);let n=t,r=s,h=i;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*h)+Math.sqrt(h*n);n=.25*(n+t),r=.25*(r+t),h=.25*(h+t);const s=(n+r+h)/3,i=(s-n)/s,e=(s-r)/s,u=(s-h)/s;if(Math.abs(i)<=.0024&&Math.abs(e)<=.0024&&Math.abs(u)<=.0024){const t=i*e-u*u,n=i*e*u;return(1+(1/24*t-.1-3/44*n-5*t*t/208+t*n/16)*t+(1/14+3*n/104)*n)/Math.sqrt(s)}}}function ht(t,s,i){(0,e.g)(0!==t||0!==s);let r=t,h=s,u=i;const m=new n(0);let a=1;for(;;){const t=.2*(r+h+3*u),s=(t-r)/t,i=(t-h)/t,e=(t-u)/t;if(Math.abs(s)<=.0015&&Math.abs(i)<=.0015&&Math.abs(e)<=.0015){const n=s*i,r=e*e,h=n-r,u=n-6*r,o=u+h+h,c=9/22,l=3/26,x=u*(.25*c*u-.21428571428571427-1.5*l*e*o),y=e*(1/6*o+e*(-c*h+e*l*n));return 3*m.getResult()+a*(1+x+y)/(t*Math.sqrt(t))}const n=Math.sqrt(r),o=Math.sqrt(h),c=Math.sqrt(u),l=n*(o+c)+o*c;m.add(a/(c*(u+l))),a*=.25,r=.25*(r+l),h=.25*(h+l),u=.25*(u+l)}}function ut(t,s,i){return t<.999?1-i*B(t):1-i+i*B(s)}const mt=new class{values;constructor(t){for(this.values=[[1]];this.values.length<t+1;){const t=this.values.at(-1),s=At(t.length+1,1);for(let i=1;i<t.length;++i)s[i]=t[i-1]+t[i];this.values.push(s)}}get(t,s){return this.values[t][s]}}(32);function at(t,s){if(t<mt.values.length)return mt.get(t,s);const i=Math.exp(((0,e.g)(0),0));return i+.01>2147483647&&(0,e.r)("The result value of n choose k is out of range"),i+.01}function ot(t,s){if(t.isZero())return t.clone();const i=t.clone().divThis(t);if(s<0)return i.divThis(ot(t,-s));for(t=t.clone(),s=Math.trunc(s);1&s&&i.mulThis(t),s>>=1;)t.mulThis(t);return i}function ct(t,s){if(0===s)return[];const i=t[0].clone().mulDoubleThis(0),e=[];e.length=s;const n=s-1;for(let s=0;s<=n;++s){e[s]=i.clone();for(let i=0;i<=s;++i)e[s].addThis(t[i].clone().mulDoubleThis(at(s,i)/at(n,i)))}return e}function lt(t,s,i,n,r){return 0===t?0===n?s:1===n?i:r:1===t?0===n?s:1===n?i:z(s,i,n):(2===t&&(0,e.t)("angular interpolation"),void(0,e.t)(""))}function xt(t,s,i,n,r,h,u,m){if(0===t)for(let t=0;t<h;++t)n[t+r]=0===u?s[t]:1===u?i[t]:m;else if(1===t)if(0===u)yt(n,s,r,0,h);else if(1===u)yt(n,i,r,0,h);else for(let t=0;t<h;++t)n[t+r]=z(s[t],i[t],u);else if(2===t)if(0===u)yt(n,s,r,0,h);else if(1===u)yt(n,i,r,0,h);else{let t=0;for(let e=0,m=r;e<h;++e,++m)n[m]=z(s[e],i[e],u),t+=n[m]*n[m];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+h;++s)n[s]/=t}else{for(let t=r;t<r+h;++t)n[t]=0;n[r]=1}}else(0,e.t)("")}function yt(t,s,i,e,n){if(0===n)return;let r=0,h=i,u=e;for(;r++<n;)t[h++]=s[u++]}function ft(t,s,i){let e=0;for(let n=0;!e&&n<i;++n)e=t[n]-s[n];return e}function dt(t,s){return t}function vt(t){t.sort((t,s)=>t<s?-1:t>s?1:0)}function bt(t,s){const i=t.slice(0,s);vt(i),yt(t,i,0,0,s)}function _t(t,s,i,e){const n=t.slice(s,s+i);n.sort(e),yt(t,n,s,0,i)}function pt(t,s){return t<s?-1:t>s?1:0}function Nt(t,s,i,e){return t<i?-1:t>i?1:s<e?-1:s>e?1:0}function gt(t,s){if(t.length<2)return t.length;let i=0;for(let e=1;e<t.length;++e)s(t[e],t[i])||(i++,t[e]=dt(t[i],t[i]=t[e]));return 1+i}function Et(t,s){t[s]=t.at(-1),t.pop()}function Mt(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Tt(t,s,i){t.length=s,t.fill(i)}function wt(t,s,i){t.length=i;for(let e=0;e<i;++e)t[e]=new s}function It(t,s){const i=new Array(s);for(let e=0;e<s;++e)i[e]=new t;return i}function Dt(t,s,i){for(let e=0;e<i;++e)t[e].assign(s[e]);return i}function Ct(t,s){const i=t.slice(0,s);for(let t=0;t<s;++t)i[t]=i[t].clone();return i}function Pt(t){return Array.from({length:t},()=>null)}function qt(t,s){return Array.from({length:s},()=>t())}function At(t,s){const i=new Array(t);return i.fill(s),i}function zt(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class St{m_elts;constructor(...t){this.m_elts=t}get length(){return this.m_elts.length}at(t){return this.m_elts[t]}[Symbol.dispose](){for(const t of this.m_elts)t[Symbol.dispose]()}}function Lt(t,s){return{first:t,second:s}}const Rt=Math.PI,Zt=2*Math.PI,Bt=.5*Math.PI;class kt{m_cr;m_cc;m_v;constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=At(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,i){this.m_v[t*this.m_cc+s]=i}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const Gt=new ArrayBuffer(8),Ft=new Float64Array(Gt),Yt=new BigUint64Array(Gt);function Ot(){return Number.EPSILON*ds}function Xt(t){return Ft[0]=t,Yt[0]}function Ut(t){return 4503599627370495n&Xt(t)}function Vt(t){return Number((9218868437227405312n&Xt(t))>>52n)}function Qt(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,i=512n,e=1n<<s+i;for(;t>=e;)s+=i,i<<=1n,e<<=i;let n=s;i>>=1n;let r=n+i;for(;i>0n;)t<1n<<r||(n=r),i>>=1n,r=n+i;return n}function jt(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function Kt(t,s,i){return t===s||Math.abs(t-s)<=i||Number.isNaN(t)&&Number.isNaN(s)}function $t(t,s){return t<s?-1:t>s?1:0}function Ht(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const i=Number.isNaN(t),e=Number.isNaN(s);return i<e?-1:i>e?1:0}}function Jt(){return 2147483647}function Wt(){return 32767}function ts(){return 2147483647}function ss(){return-2147483648}const is=2147483647,es=BigInt(is),ns=2166136261,rs=16777619,hs=1099511628211n;function us(t){let s=ns;for(let i=0,e=t.length;i<e;++i)s=(s^t.charCodeAt(i))*rs;return s&is}function ms(t,s){return s+2654435769+(t<<6)+(t>>2)&is}function as(t,s){return ms(t,xs(s))}function os(t){return ms(3735928559,t)}function cs(t,s){return ms(t,os(s))}function ls(t){return function(t){let s=ns,i=t;return s=(s^255&i)*rs,i>>=8,s=(s^255&i)*rs,i>>=8,s=(s^255&i)*rs,i>>=8,s=(s^255&i)*rs,s&is}(t)}function xs(t){return Number(function(t){let s=14695981039346656037n,i=t;return s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,s&es}(t))}function ys(t){return xs(Xt(function(t){return Ps(t)}(t)))}function fs(t){return function(t){return 1103515245*t+12345&2147483647}(t)}const ds=100;function vs(){return 100*Number.EPSILON}function bs(){return.38196601125010515}function _s(){return 1.4142135623730951}function ps(){return Number.EPSILON}function Ns(t,s,i){return t===s||t===i}function gs(t,s,i){return t>=s?t<=i?t:i:s}function Es(t,s,i){const e=t[0];if(e>=s){if(e<=i)return!1;t[0]=i}else t[0]=s;return!0}function Ms(t,s){return t>=s?s:t<-s?-s:t}function Ts(){return Rt}function ws(){return Zt}function Is(){return Bt}const Ds=3*Is();function Cs(){return Ds}function Ps(t){return t+0}function qs(t){return{v:t}}class As{static s_sm=0x8000000000000000n;static s_em=0x7ff0000000000000n;static s_fm=0x000fffffffffffffn;static s_emax=0x7ffn;m_rn=qs(0n);m_rd=qs(1n);m_bNaN=!1;m_bNormalized=!1;m_power=0;m_sign=0;static constructAssign(t,s){const i=t.clone();return void 0!==s&&i.limitPrecisionThis(s),i}static constructDouble(t){return(new As).setDouble(t)}static constructInt64(t){return(new As).setInt64(t)}static constructRational(t,s){return(new As).setRational(t,s)}static constructInt32(t){return this.constructInt64(BigInt(Math.trunc(t)))}[Symbol.toPrimitive](t){return this}compare(t){return this.lt(t)?-1:this.gt(t)?1:0}assignCopy(t){return this.setThis(t)}abs(){return this.clone().absThis()}absThis(){return this.isNAN()||(this.m_sign*=this.m_sign),this}clone(){return(new As).setThis(this)}setThis(t){return this.m_bNaN=t.m_bNaN,this.m_bNormalized=t.m_bNormalized,this.m_rn.v=t.m_rn.v,this.m_rd.v=t.m_rd.v,this.m_power=t.m_power,this.m_sign=t.m_sign,this}setZero(){return this.m_rn.v=0n,this.m_rd.v=1n,this.m_bNaN=!1,this.m_power=0,this.m_bNormalized=!0,this.m_sign=0,this}setDouble(t){if(this.setZero(),0===t)return this;if(Number.isInteger(t)&&Math.abs(t)<2147483647)return this.setInt32(t);const s=Xt(t),i=(s&As.s_em)>>52n,n=!!(s&As.s_sm),r=s&As.s_fm;if(i===As.s_emax)return r?(this.m_rn.v=this.m_rd.v=0n,this.m_bNaN=!0,this):(this.m_rn.v=n?-1n:1n,this.m_rd.v=0n,this);0n===i&&(0,e.t)("denormalized numbers not yet implemented");const h=i-1023n,u=h>=0n?h:0n,m=h<0n?-h:0n;return this.m_rn.v=(1n<<52n|r)<<u,this.m_rd.v=1n<<52n+m,this.m_sign=n?-1:1,this.m_bNormalized=!1,this.normalizeThis()}setInt64(t){return 0n===t?this.setZero():(this.m_bNaN=!1,this.m_sign=t>0n?1:-1,this.m_rn.v=t>0n?t:-t,this.m_rd.v=1n,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setRational(t,s){return 0n===t?0n===s?this.setNAN():this.setZero():0n===s?t>0n?this.setPositiveInf():this.setNegativeInf():(this.m_sign=(t>0n?1:-1)*(s>0n?1:-1),this.m_rn.v=t>0n?t:-t,this.m_rd.v=s>0n?s:-s,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setInt32(t){return this.setInt64(BigInt(Math.trunc(t)))}getDouble(){return this.convertToDouble()}toDouble(){return this.convertToDouble()}value(){return this.convertToDouble()}isNAN(){return this.m_bNaN}isPositiveInf(){return!this.isNAN()&&0n===this.m_rd.v&&1===this.m_sign}isNegativeInf(){return!this.isNAN()&&0n===this.m_rd.v&&-1===this.m_sign}isFinite(){return!this.isNAN()&&0n!==this.m_rd.v}setNAN(){return this.m_bNaN=!0,this.m_rn.v=0n,this.m_rd.v=0n,this.m_power=0,this.m_bNormalized=!0,this}setPositiveInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=1,this.m_power=0,this}setNegativeInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=-1,this.m_power=0,this}subThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())this.setNAN();else{if(this.isPositiveInf()&&t.isNegativeInf())return this.setPositiveInf(),this;if(this.isNegativeInf()&&t.isNegativeInf())this.setNAN();else if(this.isNegativeInf()&&t.isPositiveInf())return this.setNegativeInf(),this}return this.isNAN()?this:this.opPlusMinus(t,!1)}thisSubAbs(t){return(0,e.g)(0),this}mulThis(t){return t.isNAN()&&this.setNAN(),this.isNAN()?this:(this.m_sign*=t.m_sign,0===this.m_sign?this.setZero():(this.m_rn.v*=t.m_rn.v,this.m_rd.v*=t.m_rd.v,this.m_power+=t.m_power,this.m_bNormalized=!1,this.normalizeThis(),this))}mulDoubleThis(t){return this.mulThis(As.constructDouble(t))}thisMulInt64(t){return(0,e.g)(0),this}thisMulInt32(t){return(0,e.g)(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(As.constructDouble(t))}addDoubleThis(t){return this.addThis(As.constructDouble(t))}subDoubleThis(t){return this.subThis(As.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(As.constructInt64(t))}mulDouble(t){return this.clone().mulThis(As.constructDouble(t))}div(t){return this.clone().divThis(t)}divDouble(t){return this.clone().divDoubleThis(t)}add(t){return this.clone().addThis(t)}fmSubThis(t,s){return this.subThis(t.clone().mulThis(s))}fmAddThis(t,s){return this.addThis(t.clone().mulThis(s))}addThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())return this.setPositiveInf(),this;if(this.isPositiveInf()&&t.isNegativeInf())this.setNAN();else{if(this.isNegativeInf()&&t.isNegativeInf())return this.setNegativeInf(),this;this.isNegativeInf()&&t.isPositiveInf()&&this.setNAN()}return this.isNAN()?this:this.opPlusMinus(t,!0)}addDouble(t){return this.clone().addThis(As.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(As.constructDouble(t))}isZero(){return 0===this.m_sign}equals(t){return this.clone().subThis(t).isZero()}lt(t){return!this.isNAN()&&!t.isNAN()&&!(this.isPositiveInf()&&t.isPositiveInf()||this.isNegativeInf()&&t.isNegativeInf())&&!this.isPositiveInf()&&(!!t.isPositiveInf()||this.clone().sub(t).LZ())}absLessAbs(t){return this.abs().lt(t.abs())}gt(t){return this.clone().sub(t).GZ()}lte(t){return this.sub(t).LEZ()}gte(t){return this.sub(t).GEZ()}normalizeThis(){if(this.m_bNormalized)return this;if(0n===this.m_rn.v)return this.setZero();let t=0,s=0xffffffffn;for(;0n===(this.m_rn.v&s)&&s<=this.m_rn.v;)s<<=32n,t+=32;s&=this.m_rn.v,s>>=BigInt(t),t+=u(BigInt.asUintN(32,s))-1;let i=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,i+=32;return s&=this.m_rd.v,s>>=BigInt(i),i+=u(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(i),this.m_power+=t-i,this.m_rn.v>1n&&this.m_rd.v>1n&&(this.m_rn.v%this.m_rd.v===0n?(this.m_rn.v/=this.m_rd.v,this.m_rd.v=1n):this.m_rd.v%this.m_rn.v===0n&&(this.m_rd.v/=this.m_rn.v,this.m_rn.v=1n)),this.m_bNormalized=!0,this}negateThis(){return this.isNAN()||(this.m_sign*=-1),this}negate(){return this.clone().negateThis()}invertThis(){return this.isNAN()?this:this.isPositiveInf()||this.isNegativeInf()?(this.setZero(),this):0n===this.m_rn.v?(this.setPositiveInf(),this):(this.m_rd=dt(this.m_rn,this.m_rn=this.m_rd),this.m_power=-this.m_power,this)}limitPrecisionThis(t){if(0===t)return this;if(this.isZero())return this.setZero();if(!this.isFinite())return this;this.normalizeThis();let s=Number(Qt(this.m_rn.v));if(s>t){const i=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=i}if(s=Number(Qt(this.m_rd.v)),s>t){const i=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=i}return this}hiBitIndex(){return Math.max(Number(Qt(this.m_rn.v)),Number(Qt(this.m_rd.v)))}ldexp(t){return this.clone().ldexpThis(t)}ldexpThis(t){return t&&(this.m_bNormalized=!1,this.m_power+=t,this.normalizeThis()),this}static lerp(t,s,i){return As.lerpLo(s,s,i)}static lerpLo(t,s,i){return s.sub(t).mulThis(i).addThis(t)}static lerpHi(t,s,i){return s.sub(t).mulThis(zs.sub(i)).addThis(t)}LZ(){return!this.isNAN()&&-1===this.m_sign}GZ(){return!this.isNAN()&&1===this.m_sign}LEZ(){return!this.isNAN()&&this.m_sign<=0}GEZ(){return!this.isNAN()&&this.m_sign>=0}toString(){return this.toDouble().toString()}sqr(){return this.clone().sqrThis()}sqrThis(){return this.mulThis(this.clone())}static sqrt(t,s){if(t.m_sign<0n&&(0,e.r)("MP_value: sqrt(-1)"),t.isZero())return t.clone();let i=52,n=2220446049250313e-31;for(;i<s;)2*i<=s?(n*=n,i*=2):(n*=2220446049250313e-31,i+=52);i+=52;const r=Qt(t.m_rn.v),h=Qt(t.m_rd.v);let u,m=t.m_power+Number(r-h);const a=new As;Math.abs(m)>200?(1&Math.abs(m)&&(m+=1),u=As.constructAssign(t,53).ldexpThis(-m).value(),a.setThis(t).ldexpThis(-m),(0,e.g)(Number.isFinite(u))):(a.setThis(t),u=a.value(),(0,e.g)(Number.isFinite(u)),m=0),u=Math.sqrt(u);const o=As.constructDouble(u),c=As.constructDouble(n);c.mulThis(o).ldexpThis(1);const l=n*u*2,x=o.clone(),y=new As;let f;for(let t=0;t<10;++t){x.mulThis(o),y.setThis(a).subThis(x).absThis();let t=y.value();if(f=1,t<.9)for(;t>l;)t*=t,++f;else f=4;if(y.lte(c))break;for(let t=0;t<f;t++)x.setThis(o).divThis(a).invertThis().addThis(o).ldexpThis(-1).limitPrecisionThis(i),o.setThis(x)}return o.ldexpThis(m/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let i=52,e=2220446049250313e-31;for(;i<s;)2*i<=s?(e*=e,i*=2):(e*=2220446049250313e-31,i+=52);i+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=As.constructDouble(n),h=r.clone();h.sqrThis().mulDoubleThis(3).mulDoubleThis(e),h.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let s=0;s<10;++s){const s=r.clone();s.sqrThis().mulThis(r);const e=s.clone();if(e.subThis(t),e.absThis().limitPrecisionThis(32),e.lte(h))break;e.setThis(t),e.ldexpThis(1),e.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),e.divThis(n),r.mulThis(e),r.limitPrecisionThis(i)}return r}isInTheRangeOfDouble(){return(0,e.g)(0),!1}sign(){return this.m_sign}cosAndSin(t,s){(0,e.g)(0)}pow(t){return ot(this,t)}static nan(){return(0,e.g)(0),new As}convertToDouble(){if(this.m_bNaN)return Number.NaN;if(this.isZero())return 0;if(0n===this.m_rd.v)return 1===this.m_sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;const t=-1===this.m_sign,s=this.m_rn.v<<(this.m_power>=0?BigInt(this.m_power):0n);let i=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const e=s/i;let n=Number(e);if(BigInt(n)!==e)return t?-n:n;let r=s-e*i;if(r){let t=Qt(i)-1023n;t>0n&&(i>>=t,r<<=52n,r>>=t);let s=Number(r);Number.isFinite(s)||(r>>=52n,s=Number(r),t=0n),t>0n&&(s/=Math.pow(2,52)),n+=s/Number(i)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const i=Math.min(this.m_power,t.m_power);let e,n;this.m_power>i?(e=BigInt(this.m_power-i),n=0n):(e=0n,n=BigInt(t.m_power-i));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<e,h=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+h:r-h,this.m_rd.v*=t.m_rd.v,this.m_power=i,this.m_sign=1,this.m_rn.v<0n&&(this.m_sign=-1,this.m_rn.v=-this.m_rn.v),this.m_bNormalized=!1,this.normalizeThis(),this}}const zs=As.constructInt32(1),Ss=As.constructInt32(0),Ls=As.constructDouble(.5);function Rs(t,s){let i=Vt(t);const e=Vt(s);return i===e?(i-=53-function(t,s){return function(t){let s=0;return 0xffffffff00000000n&t&&(s=32,t>>=32n),s+function(t){let s=0;return 4294901760n&t&&(s+=16,t>>=16n),65280n&t&&(s+=8,t>>=8n),240n&t&&(s+=4,t>>=4n),s+h[Number(BigInt.asUintN(4,t))]+1}(t)}(t^s)}(Ut(t),Ut(s)),i):i>e?i:e}function Zs(t,s){for(let i=0,e=0,n=t.length;i<n;i+=2,e++)s[e].x=t[i],s[e].y=t[i+1]}function Bs(t){const s=new Float64Array(2*t.length);for(let i=0,e=t.length;i<e;++i){const e=i<<1;s[e]=t[i].x,s[e+1]=t[i].y}return s}function ks(t){const s=It(Gs,t.length);for(let i=0,e=t.length;i<e;++i)s[i].setCoords(t[i][0],t[i][1]);return s}class Gs{static dimensions=2;x;y;static d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]];static construct(t,s){return new Gs(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new Gs(this.x,this.y)}assign(t){this.setCoordsPoint2D(t)}setCoords(t,s){return this.x=t,this.y=s,this}setCoordsPoint2D(t){this.x=t.x,this.y=t.y}isEqualPoint2D(t,s){return void 0!==s?Math.abs(this.x-t.x)<=s&&Math.abs(this.y-t.y)<=s:this.x===t.x&&this.y===t.y}isEqual(t,s,i){return void 0!==i?Math.abs(this.x-t)<=i&&Math.abs(this.y-s)<=i:this.x===t&&this.y===s}equalsPoint2D(t,s){return this.isEqualPoint2D(t,s)}setSub(t,s){this.x=t.x-s.x,this.y=t.y-s.y}addThis(t){return this.x+=t.x,this.y+=t.y,this}setAdd(t,s){return this.x=t.x+s.x,this.y=t.y+s.y,this}absoluteOther(t){}absolute(){return(0,e.g)(0),this}setNegate(){this.x=-this.x,this.y=-this.y}setNegateOther(t){this.x=-t.x,this.y=-t.y}interpolateThis(t,s){}interpolate(t,s,i){(0,e.g)(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,i){this.x=s.x*t+i.x,this.y=s.y*t+i.y}scaleOther(t,s){(0,e.g)(0)}scale(t){this.x*=t,this.y*=t}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:0}compareX(t){return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0}normalizeOther(t){(0,e.g)(0)}normalize(){const t=this.length();return t?(this.x/=t,this.y/=t):(this.x=1,this.y=0),this}getUnitVector(){return this.clone().normalize()}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}sqrLength(){return this.x*this.x+this.y*this.y}static averageFast(t,s){return(0,e.g)(0),{}}static average(t,s){const i=new Gs;if(0===s)return i.setNAN(),i;if(1===s)return i.assign(t[0]),i;const e=new n(t[0].x),r=new n(t[0].y);for(let i=1;i<s;i++)e.add(t[i].x),r.add(t[i].y),255&i||(e.normalize(),r.normalize());return i.x=e.getResult()/s,i.y=r.getResult()/s,i}static calculateLength(t,s){const i=new n(0);for(let e=1;e<s;e++)i.add(Gs.distance(t[e],t[e-1]));return i.getResult()}offset(t,s){const i=Gs.distance(t,s),e=Gs.construct(this.x,this.y);if(0===i)return Gs.distance(e,t);const n=s.clone();return n.subThis(t),e.subThis(t),e.crossProduct(n)/i}side(t,s){return t.equals(s)?this.equals(t)?0:1:Gs.orientationRobust(s,t,this)}static sqrDistance(t,s){const i=t.x-s.x,e=t.y-s.y;return i*i+e*e}static sqrDistanceCoords(t,s,i,e){const n=i-t,r=e-s;return n*n+r*r}static distance(t,s){return Math.sqrt(Gs.sqrDistance(t,s))}dotProduct(t){return this.x*t.x+this.y*t.y}dotProductAbs(t){return Math.abs(this.x*t.x)+Math.abs(this.y*t.y)}crossProduct(t){return this.x*t.y-this.y*t.x}crossProductAbs(t){return(0,e.g)(0),0}rotateDirect(t,s){const i=this.x*t-this.y*s,e=this.x*s+this.y*t;this.x=i,this.y=e}rotateReverse(t,s){const i=this.x*t+this.y*s,e=-this.x*s+this.y*t;this.x=i,this.y=e}leftPerpendicularThis(){const t=this.x;this.x=-this.y,this.y=t}leftPerpendicularOther(t){const s=t.x;this.x=-t.y,this.y=s}rightPerpendicularThis(){const t=this.x;this.x=this.y,this.y=-t}rightPerpendicularOther(t){const s=t.x;this.x=t.y,this.y=-s}equals(t){return this.x===t.x&&this.y===t.y}notequals(t){return this.x!==t.x||this.y!==t.y}not(){return!this.x&&!this.y}gt(t){return this.y>t.y||this.y===t.y&&this.x>t.x}gte(t){return!this.lt(t)}lt(t){return this.y<t.y||this.y===t.y&&this.x<t.x}lte(t){return!this.gt(t)}subThis(t){return this.x-=t.x,this.y-=t.y,this}divThis(t){return this.x/=t,this.y/=t,this}add(t){return new Gs(this.x+t.x,this.y+t.y)}sub(t){return new Gs(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new Gs(-this.x,-this.y)}mul(t){return new Gs(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new Gs(this.x/t,this.y/t)}setNAN(){this.x=this.y=Number.NaN}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)}static getNAN(){return new Gs(Number.NaN,Number.NaN)}isFinite(){return Number.isFinite(this.x)&&Number.isFinite(this.y)}isZero(){return 0===this.x&&0===this.y}norm(t){switch(t){case 0:{const t=Math.abs(this.x),s=Math.abs(this.y),i=t-s;return i>=0?t:i<=0?s:Number.NaN}case 1:return Math.abs(this.x)+Math.abs(this.y);case 2:return Math.sqrt(this.x*this.x+this.y*this.y);default:(0,e.a)("norm")}}getQuarter(){return Gs.getQuarterCoords(this.x,this.y)}static getQuarterCoords(t,s){return t>0?s>=0?1:4:s>0?2:0===t?4:3}static compareVectors(t,s){const i=t.getQuarter(),e=s.getQuarter();return e===i?Gs.orientationRobustImpl(Gs.construct(0,0),s,t,!0):i<e?-1:1}static compareVectorsOrigin(t,s,i){const e=s.sub(t),n=i.sub(t),r=e.getQuarter(),h=n.getQuarter();return h===r?Gs.orientationRobustImpl(t,i,s,!0):r<h?-1:1}static orientationRobust(t,s,i){return Gs.orientationRobustImpl(t,s,i,!1)}static orientationRobustEx(t,s,i,e){if(t.equals(s)||i.equals(e))return 0;const n=s.x-t.x,r=s.y-t.y,h=e.x-i.x,u=e.y-i.y;{const t=Gs.getQuarterCoords(n,r)-1,s=Gs.getQuarterCoords(h,u)-1,i=Gs.d[t][s];if(0!==i)return i}const m=n*u,a=r*h,o=4*ps()*(Math.abs(m)+Math.abs(a)),c=m-a;return Math.abs(c)>=o?c<0?-1:c>0?1:0:Gs.orientationRobustExMp(t,s,i,e)}static orientationRobustExMp(t,s,i,e){const n=As.constructDouble(s.x),r=As.constructDouble(e.x);n.subThis(As.constructDouble(t.x)),r.subThis(As.constructDouble(i.x));const h=As.constructDouble(s.y),u=As.constructDouble(e.y);return h.subThis(As.constructDouble(t.y)),u.subThis(As.constructDouble(i.y)),n.mulThis(u),h.mulThis(r),n.subThis(h),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,i){const e=s.sub(t).crossProduct(i.sub(t));return e<0?-1:e>0?1:0}static orientationRobustImpl(t,s,i,e){if(s.isEqualPoint2D(t)||i.isEqualPoint2D(t)||s.isEqualPoint2D(i))return 0;const n=s.x-t.x,r=s.y-t.y,h=i.x-t.x,u=i.y-t.y;if(!e){const t=Gs.getQuarterCoords(n,r)-1,s=Gs.getQuarterCoords(h,u)-1,i=Gs.d[t][s];if(0!==i)return i}const m=(Math.abs(n)+Math.abs(r)+Math.abs(h)+Math.abs(u))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(i.x)+Math.abs(i.y))*8*f(),a=n*u-r*h;if(Math.abs(a)>m)return a<0?-1:1;if(y(s.x,t.x)&&y(i.y,t.y)&&y(s.y,t.y)&&y(i.x,t.x)&&l(n,u)&&l(r,h)){const t=n*u,s=r*h;if(y(t,s)){const i=t-s;return i<0?-1:i>0?1:0}}return Gs.orientationRobustMp(t,s,i)}static orientationRobustMp(t,s,i){const e=As.constructDouble(s.x),n=As.constructDouble(i.x);{const s=As.constructDouble(t.x);e.subThis(s),n.subThis(s)}const r=As.constructDouble(i.y),h=As.constructDouble(s.y);{const s=As.constructDouble(t.y);r.subThis(s),h.subThis(s)}return e.mulThis(r),h.mulThis(n),e.subThis(h),e.LZ()?-1:e.GZ()?1:0}static inCircleRobust(t,s,i,e){const n=new c,r=new c;n.set(t.x),n.subThis(e.x),r.set(t.y),r.subThis(e.y);const h=new c,u=new c;h.set(s.x),h.subThis(e.x),u.set(s.y),u.subThis(e.y);const m=new c,a=new c;m.set(i.x),m.subThis(e.x),a.set(i.y),a.subThis(e.y);const o=n.mulE(u).subE(r.mulE(h)),l=h.mulE(a).subE(u.mulE(m)),x=n.mulE(a).subE(r.mulE(m)),y=n.mulE(n).addE(r.mulE(r)),f=h.mulE(h).addE(u.mulE(u)),d=m.mulE(m).addE(a.mulE(a)),v=y.mulE(l).subE(f.mulE(x)).addE(d.mulE(o));if(!v.isFuzzyZero()){const t=v.value();return t<0?-1:t>0?1:0}return Gs.inCircleRobustMp(t,s,i,e)}static inCircleRobustMp(t,s,i,e){do{if(!y(t.x,e.x)||!y(t.y,e.y))break;if(!y(s.x,e.x)||!y(s.y,e.y))break;if(!y(i.x,e.x)||!y(i.y,e.y))break;const n=t.x-e.x,r=t.y-e.y,h=s.x-e.x,u=s.y-e.y,m=i.x-e.x,a=i.y-e.y;if(!l(n,u)||!l(r,h))break;if(!l(h,a)||!l(u,m))break;if(!l(n,a)||!l(r,m))break;if(!l(n,n)||!l(r,r))break;if(!l(h,h)||!l(u,u))break;if(!l(m,m)||!l(a,a))break;const o=n*u,c=r*h,f=h*a,d=u*m,v=n*a,b=r*m,_=n*n,p=r*r,N=h*h,g=u*u,E=m*m,M=a*a;if(!y(o,c))break;if(!y(f,d))break;if(!y(v,b))break;if(!x(_,p))break;if(!x(N,g))break;if(!x(E,M))break;const T=o-c,w=f-d,I=v-b,D=_+p,C=N+g,P=E+M;if(!l(D,w))break;if(!l(C,I))break;if(!l(P,T))break;const q=D*w,A=C*I,z=P*T;if(!y(q,A))break;const S=q-A;if(!x(S,z))break;const L=S+z;return L<0?-1:L>0?1:0}while(0);const n=As.constructDouble(e.x),r=As.constructDouble(e.y),h=As.constructDouble(t.x),u=As.constructDouble(t.y);h.subThis(n),u.subThis(r);const m=As.constructDouble(s.x),a=As.constructDouble(s.y);m.subThis(n),a.subThis(r);const o=As.constructDouble(i.x),c=As.constructDouble(i.y);o.subThis(n),c.subThis(r);const f=h.mul(a).sub(u.mul(m)),d=m.mul(c).sub(a.mul(o)),v=h.mul(c).sub(u.mul(o)),b=h.mul(h).add(u.mul(u)),_=m.mul(m).add(a.mul(a)),p=o.mul(o).add(c.mul(c)),N=b.mul(d).sub(_.mul(v)).add(p.mul(f));return N.LZ()?-1:N.GZ()?1:0}static inCircleRobustMp3Point(t,s,i){const e=As.constructDouble(t.x),n=As.constructDouble(t.y),r=As.constructDouble(s.x),h=As.constructDouble(s.y),u=As.constructDouble(i.x),m=As.constructDouble(i.y),a=u.mul(u).add(m.mul(m)).sub(u.mul(e).add(m.mul(n)).add(u.mul(r)).add(m.mul(h))).add(e.mul(r).add(n.mul(h)));return a.LZ()?-1:a.GZ()?1:0}static inCircleRobust3Point(t,s,i){const e=new c(t.x),n=new c(t.y),r=new c(s.x),h=new c(s.y),u=new c(i.x),m=new c(i.y),a=u.mulE(u).addE(m.mulE(m)).subE(u.mulE(e).addE(m.mulE(n)).addE(u.mulE(r)).addE(m.mulE(h))).addE(e.mulE(r).addE(n.mulE(h)));if(!a.isFuzzyZero()){const t=a.value();return t<0?-1:t>0?1:0}return Gs.inCircleRobustMp3Point(t,s,i)}static calculateCircleCenterFromThreePoints(t,s,i){if(t.equals(i)||t.equals(s)||i.equals(s))return Gs.getNAN();const e=function(t,s,i){const e=new c(s.x);e.subThis(t.x);const n=new c(s.y);n.subThis(t.y);const r=new c(i.x);r.subThis(t.x);const h=new c(i.y);h.subThis(t.y);const u=e.clone();u.mulThisE(h);let m=n.clone();if(m.mulThisE(r),u.subThisE(m),0===u.value())return Gs.getNAN();u.mulThis(2);const a=e.clone();a.mulThisE(e);const o=n.clone();o.mulThisE(n);const l=a.clone();l.addThisE(o);const x=r.clone();x.mulThisE(r);const y=h.clone();y.mulThisE(h);const f=x.clone();f.addThisE(y);const d=n.clone();d.mulThisE(f),m=h.clone(),m.mulThisE(l),d.subThisE(m),d.divThisE(u);const v=e.clone();v.mulThisE(f),m=r.clone(),m.mulThisE(l),v.subThisE(m),v.divThisE(u);const b=Gs.construct(t.x-d.value(),t.y+v.value()),_=t.sub(b).length(),p=s.sub(b).length(),N=i.sub(b).length(),g=1e-15*(_+Math.abs(t.x)+Math.abs(s.x)+Math.abs(i.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(i.y));return Math.abs(_-p)<=g&&Math.abs(_-N)<=g&&d.eps()<g&&v.eps()<g?b:Gs.getNAN()}(t,s,i);return e.isNAN()?function(t,s,i){const e=As.constructDouble(s.x);e.subDoubleThis(t.x);const n=As.constructDouble(s.y);n.subDoubleThis(t.y);const r=As.constructDouble(i.x);r.subDoubleThis(t.x);const h=As.constructDouble(i.y);h.subDoubleThis(t.y);const u=e.clone();u.mulThis(h);let m=n.clone();if(m.mulThis(r),u.subThis(m),u.isZero())return Gs.getNAN();u.mulDoubleThis(2);const a=e.clone();a.mulThis(e);const o=n.clone();o.mulThis(n);const c=a.clone();c.addThis(o);const l=r.clone();l.mulThis(r);const x=h.clone();x.mulThis(h);const y=l.clone();y.addThis(x);const f=n.clone();f.mulThis(y),m=h.clone(),m.mulThis(c),f.subThis(m),f.divThis(u);const d=e.clone();return d.mulThis(y),m=r.clone(),m.mulThis(c),d.subThis(m),d.divThis(u),Gs.construct(t.x-f.value(),t.y+d.value())}(t,s,i):e}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,s,i){return(0,e.g)(0),!1}static size(){return 2}get 0(){return this.x}get 1(){return this.y}set 0(t){this.x=t}set 1(t){this.y=t}static c_compare_zorder_xx=[2,0];static c_compare_zorder_yy=[1,0];static compareZorder(t,s){const i=Gs.c_compare_zorder_xx[t.x<0?1:0]|Gs.c_compare_zorder_yy[t.y<0?1:0],e=Gs.c_compare_zorder_xx[s.x<0?1:0]|Gs.c_compare_zorder_yy[s.y<0?1:0];if(i===e){let i=0,e=0;for(let n=0;n<2;++n){const r=Rs(t[n],s[n]);r>i&&(i=r,e=n)}return t[e]<s[e]}return i<e}static lerp(t,s,i){const e=new Gs;return R(t,s,i,e),e}static getClosestCoordinate(t,s,i,e=!1){const n=Gs.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(i))return 1;const h=Gs.getNAN();h.setSub(i,t);let u=h.dotProduct(n)/r;return e||(u<0?u=0:u>1&&(u=1)),u}static intersectLinesAtOnePoint(t,s,i,e){if(t.equals(s)||i.equals(e))return Gs.getNAN();const n=s.x-t.x,r=i.x-e.x,h=s.y-t.y,u=i.y-e.y,m=n*u-r*h;if(!m)return Gs.getNAN();const a=m;if(0===a)return Gs.getNAN();let o=(i.x-t.x)*u-(i.y-t.y)*r;o/=a;const c=new Gs;return R(t,s,o,c),c.isFinite()?c:Gs.getNAN()}toString(){return`[${this.x},${this.y}]`}}i.d(s,["W",0,v,"a9",0,b,"aC",0,Rt,"aD",0,Ss,"af",0,o,"ag",0,zs,"as",0,_,"at",0,Ls,"k",0,1e16,"l",0,Bt,"n",0,Zt])}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[9187],{79187(t,s,i){i.r(s),i.d(s,{Envelope2D:()=>r});var e=i(55537),n=i(83661);class r{m_EnvelopeType=2;xmin;ymin;xmax;ymax;static construct(t,s,i,e){return new r(t,s,i,e)}constructor(t,s,i,e){void 0===t?(this.xmin=Number.NaN,this.ymin=Number.NaN,this.xmax=Number.NaN,this.ymax=Number.NaN):"number"==typeof t?(this.xmin=t,this.ymin=s,this.xmax=i,this.ymax=e):(this.xmin=t.xmin,this.ymin=t.ymin,this.xmax=t.xmax,this.ymax=t.ymax),this.normalize()}static constructEmpty(){return new r(Number.NaN,Number.NaN,Number.NaN,Number.NaN)}clone(){return new r(this)}assign(t){return this.xmin=t.xmin,this.xmax=t.xmax,this.ymin=t.ymin,this.ymax=t.ymax,this}width(){return this.xmax-this.xmin}height(){return this.ymax-this.ymin}maxDimension(){return Math.max(this.width(),this.height())}minDimension(){return Math.min(this.width(),this.height())}sqrDiagonal(){const t=this.width(),s=this.height();return t*t+s*s}diagonal(){return Math.sqrt(this.sqrDiagonal())}getCenterX(){return.5*(this.xmin+this.xmax)}getCenterY(){return.5*(this.ymin+this.ymax)}getCenter(){return n.P.construct(this.getCenterX(),this.getCenterY())}queryCenter(t){t.x=.5*(this.xmin+this.xmax),t.y=.5*(this.ymin+this.ymax)}setEmpty(){this.xmin=Number.NaN,this.ymin=Number.NaN,this.xmax=Number.NaN,this.ymax=Number.NaN}setInfinite(){this.xmin=Number.NEGATIVE_INFINITY,this.xmax=Number.POSITIVE_INFINITY,this.ymin=Number.NEGATIVE_INFINITY,this.ymax=Number.POSITIVE_INFINITY}isDegenerate(t){return!this.isEmpty()&&(this.width()<=t||this.height()<=t)}isZero(){return!(this.isEmpty()||this.width()&&this.height())}isEmpty(){return Number.isNaN(this.xmin)||Number.isNaN(this.ymin)||Number.isNaN(this.xmax)||Number.isNaN(this.ymax)}mergeNeCoords(t,s){this.xmin>t?this.xmin=t:this.xmax<t&&(this.xmax=t),this.ymin>s?this.ymin=s:this.ymax<s&&(this.ymax=s)}mergeNe(t){this.mergeNeCoords(t.x,t.y)}mergeCoords(t,s){this.isEmpty()?(this.xmin=t,this.ymin=s,this.xmax=t,this.ymax=s):(this.xmin>t?this.xmin=t:this.xmax<t&&(this.xmax=t),this.ymin>s?this.ymin=s:this.ymax<s&&(this.ymax=s))}merge(t){this.mergeCoords(t.x,t.y)}mergeEnvelope2D(t){t.isEmpty()||(this.mergeCoords(t.xmin,t.ymin),this.mergeNeCoords(t.xmax,t.ymax))}mergePoints(t,s){for(let i=0;i<s;){if(!this.isEmpty()){for(let e=i;e<s;e++)this.mergeNe(t[e]);break}this.setCoords(t[i]),i++}}mergePointsInterleaved(t,s,i){for(let e=2*s,n=e+2*i;e<n;e+=2)this.mergeCoords(t.read(e),t.read(e+1))}inflateCoords(t,s){this.isEmpty()||(this.xmin-=t,this.xmax+=t,this.ymin-=s,this.ymax+=s,(this.xmin>this.xmax||this.ymin>this.ymax)&&this.setEmpty())}getInflatedCoords(t,s){const i=this.clone();return i.inflateCoords(t,s),i}inflate(t){this.inflateCoords(t,t)}getInflated(t){const s=this.clone();return s.inflateCoords(t,t),s}zoom(t,s){this.isEmpty()||this.setCoords({center:this.getCenter(),width:t*this.width(),height:s*this.height()})}scale(t){t<0&&this.setEmpty(),this.xmin*=t,this.xmax*=t,this.ymin*=t,this.ymax*=t}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(s?Math.abs(this.xmin-t.xmin)<=s&&Math.abs(this.ymin-t.ymin)<=s&&Math.abs(this.xmax-t.xmax)<=s&&Math.abs(this.ymax-t.ymax)<=s:this.xmin===t.xmin&&this.ymin===t.ymin&&this.xmax===t.xmax&&this.ymax===t.ymax)}setCoords(t){void 0!==t.xmin?(this.xmin=t.xmin,this.xmax=t.xmax,this.ymin=t.ymin,this.ymax=t.ymax):void 0!==t.x?(this.xmin=t.x,this.xmax=t.x,this.ymin=t.y,this.ymax=t.y):void 0!==t.pt1?(this.xmin=t.pt1.x,this.ymin=t.pt1.y,this.xmax=t.pt2.x,this.ymax=t.pt2.y,this.normalize()):void 0!==t.env2D?(this.xmin=t.env2D.xmin,this.xmax=t.env2D.xmax,this.ymin=t.env2D.ymin,this.ymax=t.env2D.ymax,this.normalize()):void 0!==t.pt?(this.xmin=t.pt.x,this.xmax=t.pt.x,this.ymin=t.pt.y,this.ymax=t.pt.y):void 0!==t.center?(this.xmin=t.center.x-.5*t.width,this.xmax=this.xmin+t.width,this.ymin=t.center.y-.5*t.height,this.ymax=this.ymin+t.height,this.normalize()):(0,e.t)("unrecognized input type for setCoords"),this.normalize()}queryIntervalX(t){this.isEmpty()?t.setEmpty():t.setCoords(this.xmin,this.xmax)}queryIntervalY(t){this.isEmpty()?t.setEmpty():t.setCoords(this.ymin,this.ymax)}setFromPoints(t,s){if(0===s)return void this.setEmpty();if(Array.isArray(t)){const i=t;this.setCoords(i[0]);for(let t=1;t<s;){if(!this.isEmpty()){for(let e=t;e<s;e++)this.mergeNe(i[e]);return}this.setCoords(i[t]),t++}return}const i=t;this.setCoords({x:i[0],y:i[1]});for(let t=1,e=2*s;t<e;t+=2){if(!this.isEmpty()){for(let e=t,n=2*s;e<n;e+=2)this.mergeNeCoords(i[e],i[e+1]);return}this.setCoords({x:i[t],y:i[t+1]}),t+=2}}normalize(){let t=!1;this.xmin<=this.xmax||([this.xmin,this.xmax]=[this.xmax,this.xmin],t=!0),this.ymin<=this.ymax||([this.ymin,this.ymax]=[this.ymax,this.ymin],t=!0),!t||this.xmin<=this.xmax&&this.ymin<=this.ymax||this.setEmpty()}isValid(){return this.isEmpty()||this.xmin<=this.xmax&&this.ymin<=this.ymax}getLowerLeft(){return new n.P(this.xmin,this.ymin)}getLowerRight(){return new n.P(this.xmax,this.ymin)}getUpperLeft(){return new n.P(this.xmin,this.ymax)}getUpperRight(){return new n.P(this.xmax,this.ymax)}move(t,s){this.isEmpty()||(this.xmin+=t,this.ymin+=s,this.xmax+=t,this.ymax+=s)}centerAtCoords(t,s){this.move(t-this.getCenterX(),s-this.getCenterY())}centerAt(t){this.centerAtCoords(t.x,t.y)}containsCoords(t,s){return t>=this.xmin&&t<=this.xmax&&s>=this.ymin&&s<=this.ymax}contains(t){return this.containsCoords(t.x,t.y)}containsEnvelope(t){return t.xmin>=this.xmin&&t.xmax<=this.xmax&&t.ymin>=this.ymin&&t.ymax<=this.ymax}containsExclusiveCoords(t,s){return t>this.xmin&&t<this.xmax&&s>this.ymin&&s<this.ymax}containsExclusive(t){return this.containsExclusiveCoords(t.x,t.y)}containsExclusiveEnvelope(t){return t.xmin>this.xmin&&t.xmax<this.xmax&&t.ymin>this.ymin&&t.ymax<this.ymax}isIntersecting(t){return(this.xmin<=t.xmin?this.xmax>=t.xmin:t.xmax>=this.xmin)&&(this.ymin<=t.ymin?this.ymax>=t.ymin:t.ymax>=this.ymin)}isIntersectingNe(t){return(this.xmin<=t.xmin?this.xmax>=t.xmin:t.xmax>=this.xmin)&&(this.ymin<=t.ymin?this.ymax>=t.ymin:t.ymax>=this.ymin)}intersect(t){if(this.isEmpty())return!1;if(t.isEmpty())return this.setEmpty(),!1;t.xmin>this.xmin&&(this.xmin=t.xmin),t.xmax<this.xmax&&(this.xmax=t.xmax),t.ymin>this.ymin&&(this.ymin=t.ymin),t.ymax<this.ymax&&(this.ymax=t.ymax);const s=this.xmin<=this.xmax&&this.ymin<=this.ymax;return s||this.setEmpty(),s}queryCorner(t){switch(3&t){case 0:return new n.P(this.xmin,this.ymin);case 1:return new n.P(this.xmin,this.ymax);case 2:return new n.P(this.xmax,this.ymax);default:return new n.P(this.xmax,this.ymin)}}queryCorners(t){t[0].setCoords(this.xmin,this.ymin),t[1].setCoords(this.xmin,this.ymax),t[2].setCoords(this.xmax,this.ymax),t[3].setCoords(this.xmax,this.ymin)}queryCornersReversed(t){t[0].setCoords(this.xmin,this.ymin),t[1].setCoords(this.xmax,this.ymin),t[2].setCoords(this.xmax,this.ymax),t[3].setCoords(this.xmin,this.ymax)}reaspect(t,s){if(this.isEmpty())return;const i=t/s,e=.5*this.width(),n=.5*this.height()*i;if(e<=n){const t=this.getCenterX();this.xmin=t-n,this.xmax=t+n}else{const t=e/i,s=this.getCenterY();this.ymin=s-t,this.ymax=s+t}this.normalize()}getArea(){return this.isEmpty()?0:this.width()*this.height()}getLength(){return this.isEmpty()?0:2*(this.width()+this.height())}clipCode(t){return(t.x<this.xmin?1:0)|(t.x>this.xmax?1:0)<<1|(t.y<this.ymin?1:0)<<2|(t.y>this.ymax?1:0)<<3}static XLESSXMIN=1;static YLESSYMIN=4;static XMASK=3;static YMASK=12;clipLine(t,s){let i=this.clipCode(t),e=this.clipCode(s);if(i&e)return 0;if(!(i|e))return 4;const n=(i?1:0)|(e?2:0);do{const n=s.x-t.x,h=s.y-t.y;if(Math.abs(n)>Math.abs(h)?i&r.XMASK?(i&r.XLESSXMIN?(t.y+=h*(this.xmin-t.x)/n,t.x=this.xmin):(t.y+=h*(this.xmax-t.x)/n,t.x=this.xmax),i=this.clipCode(t)):e&r.XMASK?(e&r.XLESSXMIN?(s.y+=h*(this.xmin-s.x)/n,s.x=this.xmin):(s.y+=h*(this.xmax-s.x)/n,s.x=this.xmax),e=this.clipCode(s)):i?(i&r.YLESSYMIN?(t.x+=n*(this.ymin-t.y)/h,t.y=this.ymin):(t.x+=n*(this.ymax-t.y)/h,t.y=this.ymax),i=this.clipCode(t)):(e&r.YLESSYMIN?(s.x+=n*(this.ymin-s.y)/h,s.y=this.ymin):(s.x+=n*(this.ymax-s.y)/h,s.y=this.ymax),e=this.clipCode(s)):i&r.YMASK?(i&r.YLESSYMIN?(t.x+=n*(this.ymin-t.y)/h,t.y=this.ymin):(t.x+=n*(this.ymax-t.y)/h,t.y=this.ymax),i=this.clipCode(t)):e&r.YMASK?(e&r.YLESSYMIN?(s.x+=n*(this.ymin-s.y)/h,s.y=this.ymin):(s.x+=n*(this.ymax-s.y)/h,s.y=this.ymax),e=this.clipCode(s)):i?(i&r.XLESSXMIN?(t.y+=h*(this.xmin-t.x)/n,t.x=this.xmin):(t.y+=h*(this.xmax-t.x)/n,t.x=this.xmax),i=this.clipCode(t)):(e&r.XLESSXMIN?(s.y+=h*(this.xmin-s.x)/n,s.x=this.xmin):(s.y+=h*(this.xmax-s.x)/n,s.x=this.xmax),e=this.clipCode(s)),i&e)return 0}while(i|e);return n}distanceFromEnvelope(t){return Math.sqrt(this.sqrDistanceEnvelope(t,null,null))}distance(t){return Math.sqrt(this.sqrDistance(t))}sqrDistanceEnvelope(t,s,i){if(!s&&!i){if(this.isEmpty()||t.isEmpty())return Number.NaN;let s,i=0,e=0;return s=this.xmin-t.xmax,s>i&&(i=s),s=this.ymin-t.ymax,s>e&&(e=s),s=t.xmin-this.xmax,s>i&&(i=s),s=t.ymin-this.ymax,s>e&&(e=s),i*i+e*e}if(this.isEmpty()||t.isEmpty())return s&&s.setNAN(),i&&i.setNAN(),Number.NaN;let e,n=0,r=0;const h=Math.max(this.xmin,t.xmin),u=Math.max(this.ymin,t.ymin);return s&&s.setCoords(h,u),i&&i.setCoords(h,u),e=this.xmin-t.xmax,e>n&&(n=e,s&&(s.x=this.xmin),i&&(i.x=t.xmax)),e=this.ymin-t.ymax,e>r&&(r=e,s&&(s.y=this.ymin),i&&(i.y=t.ymax)),e=t.xmin-this.xmax,e>n&&(n=e,s&&(s.x=this.xmax),i&&(i.x=t.xmin)),e=t.ymin-this.ymax,e>r&&(r=e,s&&(s.y=this.ymax),i&&(i.y=t.ymin)),n*n+r*r}sqrDistance(t,s){if(void 0===s){if(this.isEmpty()||t.isNAN())return Number.NaN;let s,i=0,e=0;return s=this.xmin-t.x,s>i&&(i=s),s=this.ymin-t.y,s>e&&(e=s),s=t.x-this.xmax,s>i&&(i=s),s=t.y-this.ymax,s>e&&(e=s),i*i+e*e}if(this.isEmpty()||t.isNAN())return s.setNAN(),Number.NaN;s.assign(t);let i,e=0,n=0;return i=this.xmin-t.x,i>e&&(e=i,s.x=this.xmin),i=this.ymin-t.y,i>n&&(n=i,s.y=this.ymin),i=t.x-this.xmax,i>e&&(e=i,s.x=this.xmax),i=t.y-this.ymax,i>n&&(n=i,s.y=this.ymax),e*e+n*n}sqrMaxMinDistanceEnvelope(t){if(this.isEmpty()||t.isEmpty())return Number.NaN;let s=Number.MAX_VALUE;{const i=n.P.sqrDistanceCoords(this.xmin,this.ymin,t.xmax,t.ymin),e=n.P.sqrDistanceCoords(this.xmin,this.ymin,t.xmax,t.ymax),r=n.P.sqrDistanceCoords(this.xmin,this.ymax,t.xmax,t.ymin),h=n.P.sqrDistanceCoords(this.xmin,this.ymax,t.xmax,t.ymax),u=Math.max(i,e),m=Math.max(r,h),a=Math.max(u,m);s=Math.min(a,s)}{const i=n.P.sqrDistanceCoords(this.xmin,this.ymin,t.xmin,t.ymax),e=n.P.sqrDistanceCoords(this.xmin,this.ymin,t.xmax,t.ymax),r=n.P.sqrDistanceCoords(this.xmax,this.ymin,t.xmin,t.ymax),h=n.P.sqrDistanceCoords(this.xmax,this.ymin,t.xmax,t.ymax),u=Math.max(i,e),m=Math.max(r,h),a=Math.max(u,m);s=Math.min(a,s)}{const i=n.P.sqrDistanceCoords(this.xmax,this.ymin,t.xmin,t.ymin),e=n.P.sqrDistanceCoords(this.xmax,this.ymin,t.xmin,t.ymax),r=n.P.sqrDistanceCoords(this.xmax,this.ymax,t.xmin,t.ymin),h=n.P.sqrDistanceCoords(this.xmax,this.ymax,t.xmin,t.ymax),u=Math.max(i,e),m=Math.max(r,h),a=Math.max(u,m);s=Math.min(a,s)}{const i=n.P.sqrDistanceCoords(this.xmin,this.ymax,t.xmin,t.ymin),e=n.P.sqrDistanceCoords(this.xmin,this.ymax,t.xmax,t.ymin),r=n.P.sqrDistanceCoords(this.xmax,this.ymax,t.xmin,t.ymin),h=n.P.sqrDistanceCoords(this.xmax,this.ymax,t.xmax,t.ymin),u=Math.max(i,e),m=Math.max(r,h),a=Math.max(u,m);s=Math.min(a,s)}return s}sqrMaxDistanceEnvelope(t){if(this.isEmpty()||t.isEmpty())return Number.NaN;let s=0;const i=(0,n.m)(n.P,4);this.queryCorners(i);const e=(0,n.m)(n.P,4);t.queryCorners(e);for(let t=0;t<4;t++)for(let r=0;r<4;r++){const h=n.P.sqrDistance(i[t],e[r]);h>s&&(s=h)}return s}sqrMaxMinDistance(t){const s=n.P.sqrDistance(t,this.getLowerLeft()),i=n.P.sqrDistance(t,this.getUpperLeft()),e=n.P.sqrDistance(t,this.getLowerRight()),r=n.P.sqrDistance(t,this.getUpperRight());let h,u=Math.max(s,i);return h=Math.max(s,e),u>h&&(u=h),h=Math.max(i,r),u>h&&(u=h),h=Math.max(e,r),u>h&&(u=h),u}sqrMinDistance(t){return this.contains(t)?0:this.sqrDistance(t)}sqrMaxDistance(t){let s=n.P.sqrDistance(t,this.getLowerLeft());return s=Math.max(n.P.sqrDistance(t,this.getUpperLeft()),s),s=Math.max(n.P.sqrDistance(t,this.getUpperRight()),s),s=Math.max(n.P.sqrDistance(t,this.getLowerRight()),s),s}snapToBoundary(t){if(t.isNAN())return!1;if(this.isEmpty())return t.setNAN(),!0;let s=!0;if(t.x<this.xmin?t.x=this.xmin:t.x>this.xmax?t.x=this.xmax:s=!1,t.y<this.ymin?t.y=this.ymin:t.y>this.ymax?t.y=this.ymax:s=!1,s)return!0;if(t.x===this.xmin||t.x===this.xmax||t.y===this.ymin||t.y===this.ymax)return!1;const i=this.xmax-t.x,e=t.x-this.xmin,n=this.ymax-t.y,r=t.y-this.ymin;return Math.max(i,e)>Math.max(n,r)?t.y=r<n?this.ymin:this.ymax:t.x=e<i?this.xmin:this.xmax,!0}snapClip(t){const s=(0,n.s)(t.x,this.xmin,this.xmax),i=(0,n.s)(t.y,this.ymin,this.ymax);return n.P.construct(s,i)}boundaryDistance(t){if(this.isEmpty()||t.isNAN())return Number.NaN;if(t.x===this.xmin)return t.y-this.ymin;const s=this.ymax-this.ymin,i=this.xmax-this.xmin;if(t.y===this.ymax)return s+t.x-this.xmin;if(t.x===this.xmax)return s+i+this.ymax-t.y;if(t.y===this.ymin)return 2*s+i+this.xmax-t.x;const e=new n.P;return e.setCoordsPoint2D(t),this.snapToBoundary(e),this.boundaryDistance(e)}envelopeSide(t){if(this.isEmpty())return-1;let s=this.boundaryDistance(t);const i=this.ymax-this.ymin,e=this.xmax-this.xmin;return s<i?0:(s-=i)<e?1:s-e<i?2:3}querySide(t,s){switch(t){case 0:s.constructFromCoords(this.xmin,this.ymin,this.xmin,this.ymax);break;case 1:s.constructFromCoords(this.xmin,this.ymax,this.xmax,this.ymax);break;case 2:s.constructFromCoords(this.xmax,this.ymax,this.xmax,this.ymin);break;case 3:s.constructFromCoords(this.xmax,this.ymin,this.xmin,this.ymin);break;default:(0,e.a)("query_side")}return s}isPointOnBoundary(t,s){return Math.abs(t.x-this.xmin)<=s||Math.abs(t.x-this.xmax)<=s||Math.abs(t.y-this.ymin)<=s||Math.abs(t.y-this.ymax)<=s}calculateToleranceFromEnvelope(){return this.isEmpty()?(0,n.g)():(Math.abs(this.xmin)+Math.abs(this.xmax)+Math.abs(this.ymin)+Math.abs(this.ymax)+1)*(0,n.g)()}toString(){return`[${this.xmin}, ${this.ymin}, ${this.xmax}, ${this.ymax}]`}}},55537(t,s,i){function e(t,s){try{if(!t)throw new Error(s)}catch(t){throw t}}i.d(s,{A:()=>S,B:()=>z,C:()=>C,D:()=>F,G:()=>o,a:()=>T,b:()=>w,c:()=>R,d:()=>A,e:()=>E,f:()=>y,g:()=>e,h:()=>v,i:()=>b,j:()=>_,k:()=>p,l:()=>d,m:()=>f,n:()=>g,o:()=>M,p:()=>L,q:()=>D,r:()=>q,s:()=>k,t:()=>P,u:()=>G,v:()=>N,w:()=>B,x:()=>x,y:()=>I,z:()=>Z});class n extends Error{constructor(t,s){super(s),this.m_AdditionalMessage=s,this.m_ErrorType=t,this.name="GeometryError"}what(){return function(t){switch(t){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}m_AdditionalMessage;m_ErrorType}class r extends n{constructor(t){super(2,t),this.name="CorruptedGeometryError"}}class h extends n{constructor(t){super(3,t),this.name="EmptyGeometryError"}}class u extends n{constructor(t){super(4,t),this.name="MathSingularityError"}}class m extends n{constructor(t){super(21,t),this.name="ProjectionEngineNotLoadedError"}}class a extends n{constructor(t){super(8,t),this.name="NonSimpleGeometryError"}}var o,c;(c=o||(o={}))[c.enumUnknown=0]="enumUnknown",c[c.enumPoint=513]="enumPoint",c[c.enumLine=5122]="enumLine",c[c.enumBezier=5123]="enumBezier",c[c.enumEllipticArc=5124]="enumEllipticArc",c[c.enumEnvelope=3077]="enumEnvelope",c[c.enumMultiPoint=8710]="enumMultiPoint",c[c.enumPolyline=25607]="enumPolyline",c[c.enumPolygon=27656]="enumPolygon",c[c.enumMultipatch=40969]="enumMultipatch",c[c.enumGeometryCollection=3594]="enumGeometryCollection",c[c.enumRationalBezier2=5134]="enumRationalBezier2",c[c.enumBezier2=5135]="enumBezier2",c[c.enumRationalBezier23d=5392]="enumRationalBezier23d",c[c.enumGreatArc3d=5393]="enumGreatArc3d";const l=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function x(t){return l[15&t]}function y(t){return!!(512&t)}function f(t){return!!(1024&t)}function d(t){return!!(2048&t)}function v(t){return!!(4096&t)}function b(t){return!!(8192&t)}function _(t){return!!(16384&t)}function p(t){return!!(32768&t)}function N(t){const s=t.getGeometryType();return b(s)?t.getPointCount():t.isEmpty()?0:s===o.enumEnvelope?4:s===o.enumPoint?1:v(s)?2:void A("missing type")}function g(t){const s=t.getGeometryType();if(_(s))return t.hasNonLinearSegments();if(s===o.enumGeometryCollection){const s=t;for(let t=0,i=s.getGeometryCount();t<i;t++)if(g(s.getGeometry(t)))return!0;return!1}return!!v(s)&&s!==o.enumLine}function E(t){throw new m(t)}function M(t){throw new r(t)}function T(t){throw new Error(t)}function w(t){throw new u(t)}function I(){T("Geometry type is not supported for 3D operations.")}function D(t){throw new n(12,t)}function C(t){throw new h(t)}function P(t){throw new n(14,t)}function q(t){throw new Error(t)}function A(t){throw new n(13,t)}function z(t){throw new Error(t)}function S(t){throw new a(t)}function L(t){t&&g(t)&&P("Operation does not support curves.")}function R(t){t&&p(t.getGeometryType())&&P("Unsupported geometry type.")}function Z(t){t===o.enumGeometryCollection&&T("Geometry_collection instances are not supported in this operation")}function B(t){Z(t.getGeometryType())}function k(t){T(`bad wkid: ${t}`)}function G(t){let s="bad wkt: ";s+=t,s+="...",T(s)}function F(t,s){t||T(s)}},83661(t,s,i){i.d(s,{$:()=>c,A:()=>M,B:()=>ms,C:()=>ls,D:()=>Pt,E:()=>a,F:()=>Dt,G:()=>jt,H:()=>I,I:()=>us,J:()=>ps,K:()=>n,L:()=>R,M:()=>As,N:()=>Et,O:()=>as,P:()=>Gs,Q:()=>Bs,R:()=>Zs,S:()=>St,T:()=>ys,U:()=>fs,V:()=>ks,X:()=>Es,Y:()=>pt,Z:()=>Wt,_:()=>T,a:()=>B,a0:()=>cs,a1:()=>Ot,a2:()=>bs,a3:()=>os,a4:()=>xt,a5:()=>_t,a6:()=>_s,a7:()=>$t,a8:()=>Kt,aA:()=>N,aB:()=>it,aE:()=>ct,aF:()=>Ps,aG:()=>Nt,aH:()=>U,aI:()=>k,aJ:()=>at,aK:()=>G,aL:()=>ss,aM:()=>ft,aa:()=>Ct,ab:()=>Ns,ac:()=>kt,ad:()=>Is,ae:()=>lt,ah:()=>zt,ai:()=>S,aj:()=>L,ak:()=>bt,al:()=>P,am:()=>Ts,an:()=>Cs,ao:()=>D,ap:()=>C,aq:()=>q,ar:()=>A,au:()=>Ms,av:()=>ws,aw:()=>et,ax:()=>nt,ay:()=>wt,az:()=>p,b:()=>yt,c:()=>dt,d:()=>At,e:()=>F,f:()=>w,g:()=>vs,h:()=>Mt,i:()=>ts,j:()=>Jt,m:()=>It,o:()=>Lt,p:()=>st,q:()=>qt,r:()=>z,s:()=>gs,t:()=>Ht,u:()=>Y,v:()=>gt,w:()=>vt,x:()=>Tt,y:()=>Z,z:()=>g});var e=i(55537);class n{constructor(t){this.sum=t,this.compensation=0}assign(t){return this.compensation=t.compensation,this.sum=t.sum,this}reset(){this.sum=this.compensation=0}resetToStart(t){this.sum=t,this.compensation=0}normalize(){const t=[Number.NaN];this.sum=tt(this.sum,this.compensation,t),this.compensation=t[0]}add(t){const s=this.sum+t;let i;if(Math.abs(this.sum)>=Math.abs(t)){const e=this.sum-s+t;i=this.compensation+e}else{const e=t-s+this.sum;i=this.compensation+e}this.sum=s,this.compensation=i}sub(t){this.add(-t)}addProduct(t,s){const i=[0],e=$(t,s,i);this.add(e),this.add(i[0])}mul(t){const s=new n(0);s.addProduct(this.sum,t),s.addProduct(this.compensation,t),this.assign(s)}getResult(){return this.sum+this.compensation}pe(t){return this.add(t),this}me(t){return this.add(-t),this}sum;compensation}const r=[5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1],h=[-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3];function u(t){let s=0;return 65535n&t||(s+=16,t>>=16n),255n&t||(s+=8,t>>=8n),15n&t||(s+=4,t>>=4n),s+r[Number(BigInt.asUintN(4,t))]}function m(t){let s=0;return 4294967295n&t||(s=32,t>>=32n),s+u(BigInt.asUintN(32,t))}class a{m_EnvelopeType=1;vmin;vmax;constructor(t,s){if(void 0!==t){if(t instanceof a)return this.vmin=t.vmin,void(this.vmax=t.vmax);this.vmin=t,this.vmax=s,this.normalize()}else this.setEmpty()}static construct(t,s){return new a(t,s)}static constructEmpty(){return new a}setCoords(t,s){this.vmin=t,this.vmax=s,this.normalize()}setCoordsFromEnvelope(t){this.vmin=t.vmin,this.vmax=t.vmax}setEmpty(){this.vmin=Number.NaN,this.vmax=Number.NaN}getCenter(){return.5*(this.vmin+this.vmax)}equalsRange(t,s){return jt(this.vmin,t)&&jt(this.vmax,s)}equals(t,s){return!(!this.isEmpty()||!t.isEmpty())||(void 0!==s?Math.abs(this.vmin-t.vmin)<=s&&Math.abs(this.vmax-t.vmax)<=s:this.vmin===t.vmin&&this.vmax===t.vmax)}width(){return this.vmax-this.vmin}isEmpty(){return Number.isNaN(this.vmin)||Number.isNaN(this.vmax)}isZero(){return this.vmin===this.vmax}setInfinite(){this.vmin=Number.NEGATIVE_INFINITY,this.vmax=Number.POSITIVE_INFINITY}move(t){this.isEmpty()||(this.vmin+=t,this.vmax+=t)}contains(t){return t.vmin>=this.vmin&&t.vmax<=this.vmax}containsCoordinate(t){return t>=this.vmin&&t<=this.vmax}containsRightExclusive(t){return t>=this.vmin&&t<this.vmax}containsExclusiveCoordinate(t){return t>this.vmin&&t<this.vmax}containsExclusive(t){return t.vmin>this.vmin&&t.vmax<this.vmax}isIntersecting(t){return this.vmin<=t.vmin?this.vmax>=t.vmin:t.vmax>=this.vmin}mergeCoordinate(t){if(this.isEmpty())return this.vmin=t,void(this.vmax=t);this.mergeNeCoordinate(t)}merge(t){if(t.isEmpty())return;const s=t.vmin,i=t.vmax;this.mergeCoordinate(s),this.mergeCoordinate(i)}mergeNe(t){const s=t.vmin,i=t.vmax;this.mergeNeCoordinate(s),this.mergeNeCoordinate(i)}mergeNeCoordinate(t){t<this.vmin?this.vmin=t:t>this.vmax&&(this.vmax=t)}intersect(t){this.isEmpty()||t.isEmpty()?this.setEmpty():(this.vmin<t.vmin&&(this.vmin=t.vmin),this.vmax>t.vmax&&(this.vmax=t.vmax),this.vmin>this.vmax&&this.setEmpty())}inflate(t){this.isEmpty()||(this.vmin-=t,this.vmax+=t,this.vmax<this.vmin&&this.setEmpty())}normalize(){this.vmin<=this.vmax||(this.vmin>this.vmax?this.vmax=dt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return gs(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){return this.isEmpty()?vs():(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*vs()}static unit(){return o}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=dt(this.vmin,this.vmin=this.vmax))}setCoordsNoNAN(t,s){this.vmin=t,this.vmax=s,this.normalizeNoNAN()}clone(){return new a(this.vmin,this.vmax)}}const o=new a(0,1);class c{m_value;m_eps;static getNAN(){return new c(Number.NaN)}constructor(t,s){this.m_value=t??0,this.m_eps=s??0}[Symbol.toPrimitive](t){return this}clone(){return new c(this.m_value,this.m_eps)}assign(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}scaleError(t){this.m_eps*=t}setError(t){this.m_eps=t}set(t,s){return this.m_value=t,this.m_eps=s??0,this}setWithEps(t,s){return void 0===s&&(s=1),this.m_value=t,this.m_eps=c.ulp(t)*s,this}setE(t){return this.m_value=t.m_value,this.m_eps=t.m_eps,this}precise(){return new c(this.m_value)}value(){return this.m_value}toDouble(){return this.m_value}eps(){return this.m_eps}resetError(){return this.m_eps=0,this}absThis(){return this.m_value=Math.abs(this.m_value),this}add(t){return this.clone().addThis(t)}addE(t){return this.clone().addThisE(t)}addThisE(t){const s=this.m_value+t.m_value,i=this.m_eps+t.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}addThis(t){const s=this.m_value+t,i=this.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}subE(t){return this.clone().subThisE(t)}sub(t){return this.clone().subThis(t)}subThisE(t){const s=this.m_value-t.m_value,i=this.m_eps+t.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}subThis(t){const s=this.m_value-t,i=this.m_eps+c.ulp(s);return this.m_value=s,this.m_eps=i,this}setAddE(t,s){return this.m_value=t.m_value+s.m_value,this.m_eps=t.m_eps+s.m_eps+c.ulp(this.m_value),this}setAdd(t,s){return this.m_value=t+s,this.m_eps=c.ulp(this.m_value),this}setAddEN(t,s){return this.m_value=t.m_value+s,this.m_eps=t.m_eps+c.ulp(this.m_value),this}setAddNE(t,s){return this.m_value=t+s.m_value,this.m_eps=s.m_eps+c.ulp(this.m_value),this}setSubE(t,s){return this.m_value=t.m_value-s.m_value,this.m_eps=t.m_eps+s.m_eps+c.ulp(this.m_value),this}setSub(t,s){return this.m_value=t-s,this.m_eps=c.ulp(this.m_value),this}setSubEN(t,s){return this.m_value=t.m_value-s,this.m_eps=t.m_eps+c.ulp(this.m_value),this}setSubNE(t,s){return this.m_value=t-s.m_value,this.m_eps=s.m_eps+c.ulp(this.m_value),this}mulThisE(t){const s=this.m_value*t.m_value;return this.m_eps=this.m_eps*Math.abs(t.m_value)+t.m_eps*Math.abs(this.m_value)+this.m_eps*t.m_eps+c.ulp(s),this.m_value=s,this}mulThis(t){const s=this.m_value*t;return this.m_eps=this.m_eps*Math.abs(t)+c.ulp(s),this.m_value=s,this}mul(t){return this.clone().mulThis(t)}mulE(t){return this.clone().mulThisE(t)}setMulE(t,s){const i=t.m_value*s.m_value;return this.m_eps=t.m_eps*Math.abs(s.m_value)+s.m_eps*Math.abs(t.m_value)+t.m_eps*s.m_eps+c.ulp(i),this.m_value=i,this}setMul(t,s){return this.m_value=t*s,this.m_eps=c.ulp(this.m_value),this}setMulEN(t,s){return this.setE(t),this.mulThis(s)}setMulNE(t,s){return this.setE(s),this.mulThis(t)}mulThisByPower2(t){return this.m_value*=t,this.m_eps*=Math.abs(t),this}static st_mulByPower2(t,s){return new c(t.m_value,t.m_eps).mulThisByPower2(s)}divE(t){return this.clone().divThisE(t)}divThisE(t){const s=Math.abs(t.m_value),i=this.m_value/t.m_value;let e=(this.m_eps+Math.abs(i)*t.m_eps)/s;if(t.m_eps>.01*s){const i=t.m_eps/s;e*=1+(1+i)*i}return this.m_value=i,this.m_eps=e+c.ulp(i),this}divThis(t){const s=Math.abs(t);return this.m_value/=t,this.m_eps=this.m_eps/s+c.ulp(this.m_value),this}setDivE(t,s){return this.setE(t),this.divThisE(s)}setDiv(t,s){return this.m_value=t/s,this.m_eps=c.ulp(this.m_value),this}setDivEN(t,s){return this.setE(t),this.divThis(s)}setDivNE(t,s){return this.set(t),this.divThisE(s)}divThisByPower2(t){return this.m_value/=t,this.m_eps/=Math.abs(t),this}invThis(){return this.setE(b.clone().divThisE(this)),this}sqrt(){return this.clone().sqrtThis()}sqrtThis(){let t,s;return this.m_value>=0?(t=Math.sqrt(this.m_value),s=this.m_value>10*this.m_eps?.5*this.m_eps/t:this.m_value>this.m_eps?t-Math.sqrt(this.m_value-this.m_eps):Math.max(t,Math.sqrt(this.m_value+this.m_eps)-t),s+=c.ulp(t)):this.m_value<-this.m_eps?(t=Number.NaN,s=Number.NaN):(t=0,s=Math.sqrt(this.m_eps)),this.m_value=t,this.m_eps=s,this}sqr(){return this.clone().sqrThis()}sqrThis(){const t=this.m_value*this.m_value;return this.m_eps=2*this.m_eps*Math.abs(this.m_value)+this.m_eps*this.m_eps+c.ulp(t),this.m_value=t,this}setSin(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=s;const e=Math.abs(s),n=Math.abs(t.value());return this.m_eps=(Math.abs(i)+.5*e*t.m_eps)*t.m_eps+c.ulp(e+n),this}static ulp(t){let s=Xt(t);const i=((0x7ff0000000000000n&s)>>52n)-1075n;return i>-1023n?(s=i+0x3ffn<<52n,function(t){return Yt[0]=t,Ft[0]}(s)):0===t?0:Number.MIN_VALUE}setCos(t){const s=Math.sin(t.m_value),i=Math.cos(t.m_value);this.m_value=i;const e=Math.abs(i),n=Math.abs(t.value());return this.m_eps=(Math.abs(s)+.5*e*t.m_eps)*t.m_eps+c.ulp(e+n),this}static st_cosAndSin(t,s,i){const e=Math.sin(t.m_value),n=Math.cos(t.m_value);i.m_value=e,s.m_value=n;const r=Math.abs(e),h=Math.abs(n),u=Math.abs(t.value());i.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+c.ulp(r+u),s.m_eps=(Math.abs(e)+.5*h*t.m_eps)*t.m_eps+c.ulp(h+u)}negate(){return this.clone().negateThis()}negateThis(){return this.m_value=-this.m_value,this}setAbs(){return this.m_value=Math.abs(this.m_value),this}isInInterval(t){return a.construct(this.m_value-this.m_eps,this.m_value+this.m_eps).isIntersecting(t)}isInIntervalExclusive(t){const s=t.vmin+this.m_eps,i=t.vmax-this.m_eps;return s<this.m_value&&i>this.m_value}eq(t){return Math.abs(this.m_value-t.m_value)<=this.m_eps+t.m_eps}ne(t){return!this.eq(t)}gt(t){return this.m_value-t.m_value>this.m_eps+t.m_eps}lt(t){return t.m_value-this.m_value>this.m_eps+t.m_eps}ge(t){return!this.lt(t)}le(t){return!this.gt(t)}tolEQ(t,s){return Math.abs(this.m_value-t.m_value)<=s||this.eq(t)}tolNE(t,s){return!this.tolEQ(t,s)}tolGT(t,s){return this.m_value-t.m_value>s&&this.gt(t)}tolLT(t,s){return t.m_value-this.m_value>s&&this.lt(t)}tolGE(t,s){return!this.tolLT(t,s)}tolLE(t,s){return!this.tolGT(t,s)}isZero(){return Math.abs(this.m_value)<=this.m_eps}isFuzzyZero(){return this.isZero()&&0!==this.m_eps}tolIsZero(t){return Math.abs(this.m_value)<=Math.max(this.m_eps,t)}setPi(){this.setE(d)}setEuler(){this.set(2.718281828459045,f())}static dimensions=1;static size(){return 1}}function l(t,s){const i=Ut(t),e=Ut(s),n=53-m(i),r=53-m(e);return(n>=0?n:0)+(r>=0?r:0)<=52}function x(t,s){const i=t+s;return i-t===s&&i-s===t}function y(t,s){const i=t-s;return t-i===s&&s+i===t}function f(){return ps()}const d=new c(Math.PI,.5*f()),v=new c(0,0),b=new c(1,0),_=new c(4,0);function p(t,s,i){return t.addE(s.subE(t).mulE(i))}function N(t,s,i){return s.subE(s.subE(t).mulE(b.subE(i)))}function g(t){let s;if(0===t)s=1;else if(Math.abs(t)>.01)s=function(t){return Math.atanh(t)}(t)/t;else{let i;const e=-36.841361487904734;s=0;const n=t*t;for(let t=2*Math.trunc(e/Math.log(n)+2.5)-1;t>1;t-=2)i=1/t,s=(s+i)*n;s+=1}return s}function E(t){const s=Math.PI*Math.PI/6;let i;if(1===t)i=s;else if(t>1)i=s;else if(0===t)i=t;else if(t<0){const s=1+(t=Math.abs(t)),e=Math.log(s);i=e*e/-2-E(t/s)}else if(t>.5){const e=1-t,n=Math.log(t)*Math.log(e);i=s-E(e)-n}else{i=0;const s=1+Math.trunc(-16*Math.log(10)/Math.log(t)+1.5);let e=s;for(let n=s;n>0;n--,e-=1)i*=t,i+=1/(e*e);i*=t}return i}function M(t,s){const i=s*t;if(Math.abs(s)<.1){let s=0;for(let t=60;t>=1;t--)s*=i,s+=1/t/t;return s*=t,s}return E(i)/s}function T(t,s){return t<s?Lt(t,s):Lt(s,t)}function w(t,s){const i=Math.abs(t);return s>=0?i:-i}function I(t){return Math.round(t)}function D(t,s,i,e,n){n[0]=s[0]+(i[0]-s[0])*e,n[1]=s[1]+(i[1]-s[1])*e,3===t&&(n[2]=s[2]+(i[2]-s[2])*e)}function C(t,s,i,e,n){n[0]=i[0]-(i[0]-s[0])*(1-e),n[1]=i[1]-(i[1]-s[1])*(1-e),3===t&&(n[2]=i[2]-(i[2]-s[2])*(1-e))}function P(t,s,i,e,n){e<=.5?D(t,s,i,e,n):C(t,s,i,e,n)}function q(t,s,i,e,n){n[0]=s[0].addE(i[0].subE(s[0]).mulE(e)),n[1]=s[1].addE(i[1].subE(s[1]).mulE(e))}function A(t,s,i,e,n){n[0]=i[0].subE(i[0].subE(s[0]).mulE(b.subE(e))),n[1]=i[1].subE(i[1].subE(s[1]).mulE(b.subE(e)))}function z(t,s,i){let e;return e=i<=.5?t+(s-t)*i:s-(s-t)*(1-i),e}function S(t,s,i){return t+(s-t)*i}function L(t,s,i){return s-(s-t)*(1-i)}function R(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i))}function Z(t,s,i,e){i<=.5?(e.x=t.x+(s.x-t.x)*i,e.y=t.y+(s.y-t.y)*i,e.z=t.z+(s.z-t.z)*i):(e.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i),e.z=s.z-(s.z-t.z)*(1-i))}function B(t){return t*t}function k(t){return t*t*t}function G(t){return 1/Math.sqrt(t)}function F(t){return t<0?-1:t>0?1:0}function Y(t,s,i,e){const n=[0],r=[0],h=[0];return tt($(t,i,n),$(s,e,r),h)+(n[0]+r[0]+h[0])}const O=[0],X=[0];function U(t,s,i){return function(t,s,i,e){const n=tt(t,s,J),r=tt(n,i,W);return tt(r,J[0]+W[0],e)}($(t,s,O),i,O[0],X)}const V=[0],Q=[0],j=[0],K=[0];function $(t,s,i){const e=t*s;return H(t,V,Q),H(s,j,K),i[0]=Q[0]*K[0]-(e-V[0]*j[0]-Q[0]*j[0]-V[0]*K[0]),e}function H(t,s,i){const e=134217729*t;s[0]=e-(e-t),i[0]=t-s[0]}const J=[0],W=[0];function tt(t,s,i){const e=t+s;return Math.abs(t)>Math.abs(s)?i[0]=t-e+s:i[0]=s-e+t,e}function st(t,s){return t%s}function it(t){const s=1-t;if(0===s)return 1;let i;if(s<=.01){const t=s,e=Math.log(t);i=1+t*(.4431471805599453-.25*e+t*(.05680519270997949-.09375*e+t*(.02183137044373718-.05859375*e+t*(.011544521417308362-.042724609375*e+t*(.00714200031339596-.0336456298828125*e+t*(.004854743337164948-.027757644653320312*e+t*(.003514687963781376-.023627042770385742*e)))))))}else{if(t<.016){const s=t,i=.25,e=.046875,n=.01953125,r=.01068115234375,h=.0067291259765625,u=.004626274108886719,m=.0033752918243408203,a=.0025710230693221092;return Is()*(1-s*(i+s*(e+s*(n+s*(r+s*(h+s*(u+s*(m+s*a))))))))}i=rt(0,s,1)-t*ht(0,s,1)/3}return gs(i,1,Is())}function et(t,s,i=Number.NaN){if((0,e.g)(s>=0&&s<=1),0===s)return t;let n=1,r=t;if(r<0&&(r=-r,n=-1),1===s){const t=Math.round(r/Ts()),s=r-t*Ts();return n*(2*t+Math.sin(s))}const h=Is(),u=Math.floor(r/h);1&u?r=(u+1)*h-r:r-=u*h;const m=Math.sin(r),a=Number.isNaN(i)?it(s):i;let o;if(1===m)o=a+Math.sqrt(1-s)*(r-h);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*ps())o=r*(1+t*s*(-1/6+t*((4-3*s)/120-(16+(45*s-60)*s)/5040*t)));else if(s<=.01){const t=Math.sin(2*r),i=Math.sin(4*r),e=Math.sin(6*r),n=Math.sin(8*r),h=Math.sin(10*r);o=r+s*((2*-r+t)/8+s*((-3*r+2*t-.25*i)/64+s*((-20*r+15*t-3*i+e/3)/1024+s*(5*(-140*r+112*t-28*i+16/3*e-.5*n)/65536+7*s*((-63*r+52.5*t-15*i+3.75*e-.625*n+.05*h)/65536+s*(-693*r+594*t-185.625*i+1.375*e-12.375*n+1.8*h-.125*Math.sin(12*r))/1048576)))))}else{const t=m*m,i=Math.cos(r),e=i*i,n=ut(m,i,s);o=m*(rt(e,n,1)-s*t*ht(e,n,1)/3)}}return 1&u?o=a*(u+1)-o:o+=a*u,n*o}function nt(t,s,i=Number.NaN){if(0===t)return 0;let e=1,n=t;t<0&&(n=-n,e=-1);const r=Number.isNaN(i)?it(s):i,h=Math.floor(n/r);1&h?n=(h+1)*r-n:n-=h*r;let u=n<=0?0:n>=r?Is():function(t,s,i){if(0===s)return t;if(1===s)return Math.asin(t);let e=0,n=!0;if(t<.2){const i=t*t,r=t*(1+i*s*(1/6+i*((13*s-4)/120+(16-284*s+493*s*s)/5040*i))),h=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(h<Math.abs(r)*ps())return r;e=r,n=h>.1*r}if(n){const n=1-s,r=1-t/i,h=Math.sqrt(r*r+n*n),u=Math.atan2(n,t+ps());e=Is()+Math.sqrt(h)*(u-Is())}let r=0;for(let n=0;n<7;n++){r=et(e,s,i);const h=ut(Math.sin(e),Math.cos(e),s);if(e-=(r-t)/Math.sqrt(h),n>0&&Math.abs(r-t)<=4*ps()*t)break}return e}(n,s,r);return 1&h?u=Is()*(h+1)-u:u+=Is()*h,e*u}function rt(t,s,i){(0,e.g)((0!==t?1:0)+(0!==s?1:0)+1>1);let n=t,r=s,h=i;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*h)+Math.sqrt(h*n);n=.25*(n+t),r=.25*(r+t),h=.25*(h+t);const s=(n+r+h)/3,i=(s-n)/s,e=(s-r)/s,u=(s-h)/s;if(Math.abs(i)<=.0024&&Math.abs(e)<=.0024&&Math.abs(u)<=.0024){const t=i*e-u*u,n=i*e*u;return(1+(1/24*t-.1-3/44*n-5*t*t/208+t*n/16)*t+(1/14+3*n/104)*n)/Math.sqrt(s)}}}function ht(t,s,i){(0,e.g)(0!==t||0!==s);let r=t,h=s,u=i;const m=new n(0);let a=1;for(;;){const t=.2*(r+h+3*u),s=(t-r)/t,i=(t-h)/t,e=(t-u)/t;if(Math.abs(s)<=.0015&&Math.abs(i)<=.0015&&Math.abs(e)<=.0015){const n=s*i,r=e*e,h=n-r,u=n-6*r,o=u+h+h,c=9/22,l=3/26,x=u*(.25*c*u-.21428571428571427-1.5*l*e*o),y=e*(1/6*o+e*(-c*h+e*l*n));return 3*m.getResult()+a*(1+x+y)/(t*Math.sqrt(t))}const n=Math.sqrt(r),o=Math.sqrt(h),c=Math.sqrt(u),l=n*(o+c)+o*c;m.add(a/(c*(u+l))),a*=.25,r=.25*(r+l),h=.25*(h+l),u=.25*(u+l)}}function ut(t,s,i){return t<.999?1-i*B(t):1-i+i*B(s)}const mt=new class{values;constructor(t){for(this.values=[[1]];this.values.length<t+1;){const t=this.values.at(-1),s=At(t.length+1,1);for(let i=1;i<t.length;++i)s[i]=t[i-1]+t[i];this.values.push(s)}}get(t,s){return this.values[t][s]}}(32);function at(t,s){if(t<mt.values.length)return mt.get(t,s);const i=Math.exp(((0,e.g)(0),0));return i+.01>2147483647&&(0,e.r)("The result value of n choose k is out of range"),i+.01}function ot(t,s){if(t.isZero())return t.clone();const i=t.clone().divThis(t);if(s<0)return i.divThis(ot(t,-s));for(t=t.clone(),s=Math.trunc(s);1&s&&i.mulThis(t),s>>=1;)t.mulThis(t);return i}function ct(t,s){if(0===s)return[];const i=t[0].clone().mulDoubleThis(0),e=[];e.length=s;const n=s-1;for(let s=0;s<=n;++s){e[s]=i.clone();for(let i=0;i<=s;++i)e[s].addThis(t[i].clone().mulDoubleThis(at(s,i)/at(n,i)))}return e}function lt(t,s,i,n,r){return 0===t?0===n?s:1===n?i:r:1===t?0===n?s:1===n?i:z(s,i,n):(2===t&&(0,e.t)("angular interpolation"),void(0,e.t)(""))}function xt(t,s,i,n,r,h,u,m){if(0===t)for(let t=0;t<h;++t)n[t+r]=0===u?s[t]:1===u?i[t]:m;else if(1===t)if(0===u)yt(n,s,r,0,h);else if(1===u)yt(n,i,r,0,h);else for(let t=0;t<h;++t)n[t+r]=z(s[t],i[t],u);else if(2===t)if(0===u)yt(n,s,r,0,h);else if(1===u)yt(n,i,r,0,h);else{let t=0;for(let e=0,m=r;e<h;++e,++m)n[m]=z(s[e],i[e],u),t+=n[m]*n[m];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+h;++s)n[s]/=t}else{for(let t=r;t<r+h;++t)n[t]=0;n[r]=1}}else(0,e.t)("")}function yt(t,s,i,e,n){if(0===n)return;let r=0,h=i,u=e;for(;r++<n;)t[h++]=s[u++]}function ft(t,s,i){let e=0;for(let n=0;!e&&n<i;++n)e=t[n]-s[n];return e}function dt(t,s){return t}function vt(t){t.sort((t,s)=>t<s?-1:t>s?1:0)}function bt(t,s){const i=t.slice(0,s);vt(i),yt(t,i,0,0,s)}function _t(t,s,i,e){const n=t.slice(s,s+i);n.sort(e),yt(t,n,s,0,i)}function pt(t,s){return t<s?-1:t>s?1:0}function Nt(t,s,i,e){return t<i?-1:t>i?1:s<e?-1:s>e?1:0}function gt(t,s){if(t.length<2)return t.length;let i=0;for(let e=1;e<t.length;++e)s(t[e],t[i])||(i++,t[e]=dt(t[i],t[i]=t[e]));return 1+i}function Et(t,s){t[s]=t.at(-1),t.pop()}function Mt(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Tt(t,s,i){t.length=s,t.fill(i)}function wt(t,s,i){t.length=i;for(let e=0;e<i;++e)t[e]=new s}function It(t,s){const i=new Array(s);for(let e=0;e<s;++e)i[e]=new t;return i}function Dt(t,s,i){for(let e=0;e<i;++e)t[e].assign(s[e]);return i}function Ct(t,s){const i=t.slice(0,s);for(let t=0;t<s;++t)i[t]=i[t].clone();return i}function Pt(t){return Array.from({length:t},()=>null)}function qt(t,s){return Array.from({length:s},()=>t())}function At(t,s){const i=new Array(t);return i.fill(s),i}function zt(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class St{m_elts;constructor(...t){this.m_elts=t}get length(){return this.m_elts.length}at(t){return this.m_elts[t]}[Symbol.dispose](){for(const t of this.m_elts)t[Symbol.dispose]()}}function Lt(t,s){return{first:t,second:s}}const Rt=Math.PI,Zt=2*Math.PI,Bt=.5*Math.PI;class kt{m_cr;m_cc;m_v;constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=At(t*s,0)}get(t,s){return this.m_v[t*this.m_cc+s]}set(t,s,i){this.m_v[t*this.m_cc+s]=i}inc(t,s){return++this.m_v[t*this.m_cc+s]}}const Gt=new ArrayBuffer(8),Ft=new Float64Array(Gt),Yt=new BigUint64Array(Gt);function Ot(){return Number.EPSILON*ds}function Xt(t){return Ft[0]=t,Yt[0]}function Ut(t){return 4503599627370495n&Xt(t)}function Vt(t){return Number((9218868437227405312n&Xt(t))>>52n)}function Qt(t){if(0n===t)return-1n;if(1n===t||-1n===t)return 0n;t<0n&&(t=-t);let s=0n,i=512n,e=1n<<s+i;for(;t>=e;)s+=i,i<<=1n,e<<=i;let n=s;i>>=1n;let r=n+i;for(;i>0n;)t<1n<<r||(n=r),i>>=1n,r=n+i;return n}function jt(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function Kt(t,s,i){return t===s||Math.abs(t-s)<=i||Number.isNaN(t)&&Number.isNaN(s)}function $t(t,s){return t<s?-1:t>s?1:0}function Ht(t,s){if(t<s)return-1;if(t>s)return 1;if(t===s)return 0;{const i=Number.isNaN(t),e=Number.isNaN(s);return i<e?-1:i>e?1:0}}function Jt(){return 2147483647}function Wt(){return 32767}function ts(){return 2147483647}function ss(){return-2147483648}const is=2147483647,es=BigInt(is),ns=2166136261,rs=16777619,hs=1099511628211n;function us(t){let s=ns;for(let i=0,e=t.length;i<e;++i)s=(s^t.charCodeAt(i))*rs;return s&is}function ms(t,s){return s+2654435769+(t<<6)+(t>>2)&is}function as(t,s){return ms(t,xs(s))}function os(t){return ms(3735928559,t)}function cs(t,s){return ms(t,os(s))}function ls(t){return function(t){let s=ns,i=t;return s=(s^255&i)*rs,i>>=8,s=(s^255&i)*rs,i>>=8,s=(s^255&i)*rs,i>>=8,s=(s^255&i)*rs,s&is}(t)}function xs(t){return Number(function(t){let s=14695981039346656037n,i=t;return s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,i>>=8n,s=(s^0xffn&i)*hs,s&es}(t))}function ys(t){return xs(Xt(function(t){return Ps(t)}(t)))}function fs(t){return function(t){return 1103515245*t+12345&2147483647}(t)}const ds=100;function vs(){return 100*Number.EPSILON}function bs(){return.38196601125010515}function _s(){return 1.4142135623730951}function ps(){return Number.EPSILON}function Ns(t,s,i){return t===s||t===i}function gs(t,s,i){return t>=s?t<=i?t:i:s}function Es(t,s,i){const e=t[0];if(e>=s){if(e<=i)return!1;t[0]=i}else t[0]=s;return!0}function Ms(t,s){return t>=s?s:t<-s?-s:t}function Ts(){return Rt}function ws(){return Zt}function Is(){return Bt}const Ds=3*Is();function Cs(){return Ds}function Ps(t){return t+0}function qs(t){return{v:t}}class As{static s_sm=0x8000000000000000n;static s_em=0x7ff0000000000000n;static s_fm=0x000fffffffffffffn;static s_emax=0x7ffn;m_rn=qs(0n);m_rd=qs(1n);m_bNaN=!1;m_bNormalized=!1;m_power=0;m_sign=0;static constructAssign(t,s){const i=t.clone();return void 0!==s&&i.limitPrecisionThis(s),i}static constructDouble(t){return(new As).setDouble(t)}static constructInt64(t){return(new As).setInt64(t)}static constructRational(t,s){return(new As).setRational(t,s)}static constructInt32(t){return this.constructInt64(BigInt(Math.trunc(t)))}[Symbol.toPrimitive](t){return this}compare(t){return this.lt(t)?-1:this.gt(t)?1:0}assignCopy(t){return this.setThis(t)}abs(){return this.clone().absThis()}absThis(){return this.isNAN()||(this.m_sign*=this.m_sign),this}clone(){return(new As).setThis(this)}setThis(t){return this.m_bNaN=t.m_bNaN,this.m_bNormalized=t.m_bNormalized,this.m_rn.v=t.m_rn.v,this.m_rd.v=t.m_rd.v,this.m_power=t.m_power,this.m_sign=t.m_sign,this}setZero(){return this.m_rn.v=0n,this.m_rd.v=1n,this.m_bNaN=!1,this.m_power=0,this.m_bNormalized=!0,this.m_sign=0,this}setDouble(t){if(this.setZero(),0===t)return this;if(Number.isInteger(t)&&Math.abs(t)<2147483647)return this.setInt32(t);const s=Xt(t),i=(s&As.s_em)>>52n,n=!!(s&As.s_sm),r=s&As.s_fm;if(i===As.s_emax)return r?(this.m_rn.v=this.m_rd.v=0n,this.m_bNaN=!0,this):(this.m_rn.v=n?-1n:1n,this.m_rd.v=0n,this);0n===i&&(0,e.t)("denormalized numbers not yet implemented");const h=i-1023n,u=h>=0n?h:0n,m=h<0n?-h:0n;return this.m_rn.v=(1n<<52n|r)<<u,this.m_rd.v=1n<<52n+m,this.m_sign=n?-1:1,this.m_bNormalized=!1,this.normalizeThis()}setInt64(t){return 0n===t?this.setZero():(this.m_bNaN=!1,this.m_sign=t>0n?1:-1,this.m_rn.v=t>0n?t:-t,this.m_rd.v=1n,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setRational(t,s){return 0n===t?0n===s?this.setNAN():this.setZero():0n===s?t>0n?this.setPositiveInf():this.setNegativeInf():(this.m_sign=(t>0n?1:-1)*(s>0n?1:-1),this.m_rn.v=t>0n?t:-t,this.m_rd.v=s>0n?s:-s,this.m_power=0,this.m_bNormalized=!1,this.normalizeThis())}setInt32(t){return this.setInt64(BigInt(Math.trunc(t)))}getDouble(){return this.convertToDouble()}toDouble(){return this.convertToDouble()}value(){return this.convertToDouble()}isNAN(){return this.m_bNaN}isPositiveInf(){return!this.isNAN()&&0n===this.m_rd.v&&1===this.m_sign}isNegativeInf(){return!this.isNAN()&&0n===this.m_rd.v&&-1===this.m_sign}isFinite(){return!this.isNAN()&&0n!==this.m_rd.v}setNAN(){return this.m_bNaN=!0,this.m_rn.v=0n,this.m_rd.v=0n,this.m_power=0,this.m_bNormalized=!0,this}setPositiveInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=1,this.m_power=0,this}setNegativeInf(){return this.m_rn.v=1n,this.m_rd.v=0n,this.m_bNaN=!1,this.m_bNormalized=!0,this.m_sign=-1,this.m_power=0,this}subThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())this.setNAN();else{if(this.isPositiveInf()&&t.isNegativeInf())return this.setPositiveInf(),this;if(this.isNegativeInf()&&t.isNegativeInf())this.setNAN();else if(this.isNegativeInf()&&t.isPositiveInf())return this.setNegativeInf(),this}return this.isNAN()?this:this.opPlusMinus(t,!1)}thisSubAbs(t){return(0,e.g)(0),this}mulThis(t){return t.isNAN()&&this.setNAN(),this.isNAN()?this:(this.m_sign*=t.m_sign,0===this.m_sign?this.setZero():(this.m_rn.v*=t.m_rn.v,this.m_rd.v*=t.m_rd.v,this.m_power+=t.m_power,this.m_bNormalized=!1,this.normalizeThis(),this))}mulDoubleThis(t){return this.mulThis(As.constructDouble(t))}thisMulInt64(t){return(0,e.g)(0),this}thisMulInt32(t){return(0,e.g)(0),this}divThis(t){return this.mulThis(t.clone().invertThis())}divDoubleThis(t){return this.divThis(As.constructDouble(t))}addDoubleThis(t){return this.addThis(As.constructDouble(t))}subDoubleThis(t){return this.subThis(As.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(As.constructInt64(t))}mulDouble(t){return this.clone().mulThis(As.constructDouble(t))}div(t){return this.clone().divThis(t)}divDouble(t){return this.clone().divDoubleThis(t)}add(t){return this.clone().addThis(t)}fmSubThis(t,s){return this.subThis(t.clone().mulThis(s))}fmAddThis(t,s){return this.addThis(t.clone().mulThis(s))}addThis(t){if(t.isNAN()&&this.setNAN(),this.isPositiveInf()&&t.isPositiveInf())return this.setPositiveInf(),this;if(this.isPositiveInf()&&t.isNegativeInf())this.setNAN();else{if(this.isNegativeInf()&&t.isNegativeInf())return this.setNegativeInf(),this;this.isNegativeInf()&&t.isPositiveInf()&&this.setNAN()}return this.isNAN()?this:this.opPlusMinus(t,!0)}addDouble(t){return this.clone().addThis(As.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(As.constructDouble(t))}isZero(){return 0===this.m_sign}equals(t){return this.clone().subThis(t).isZero()}lt(t){return!this.isNAN()&&!t.isNAN()&&!(this.isPositiveInf()&&t.isPositiveInf()||this.isNegativeInf()&&t.isNegativeInf())&&!this.isPositiveInf()&&(!!t.isPositiveInf()||this.clone().sub(t).LZ())}absLessAbs(t){return this.abs().lt(t.abs())}gt(t){return this.clone().sub(t).GZ()}lte(t){return this.sub(t).LEZ()}gte(t){return this.sub(t).GEZ()}normalizeThis(){if(this.m_bNormalized)return this;if(0n===this.m_rn.v)return this.setZero();let t=0,s=0xffffffffn;for(;0n===(this.m_rn.v&s)&&s<=this.m_rn.v;)s<<=32n,t+=32;s&=this.m_rn.v,s>>=BigInt(t),t+=u(BigInt.asUintN(32,s))-1;let i=0;for(s=0xffffffffn;0n===(this.m_rd.v&s)&&s<=this.m_rd.v;)s<<=32n,i+=32;return s&=this.m_rd.v,s>>=BigInt(i),i+=u(BigInt.asUintN(32,s))-1,this.m_rn.v>>=BigInt(t),this.m_rd.v>>=BigInt(i),this.m_power+=t-i,this.m_rn.v>1n&&this.m_rd.v>1n&&(this.m_rn.v%this.m_rd.v===0n?(this.m_rn.v/=this.m_rd.v,this.m_rd.v=1n):this.m_rd.v%this.m_rn.v===0n&&(this.m_rd.v/=this.m_rn.v,this.m_rn.v=1n)),this.m_bNormalized=!0,this}negateThis(){return this.isNAN()||(this.m_sign*=-1),this}negate(){return this.clone().negateThis()}invertThis(){return this.isNAN()?this:this.isPositiveInf()||this.isNegativeInf()?(this.setZero(),this):0n===this.m_rn.v?(this.setPositiveInf(),this):(this.m_rd=dt(this.m_rn,this.m_rn=this.m_rd),this.m_power=-this.m_power,this)}limitPrecisionThis(t){if(0===t)return this;if(this.isZero())return this.setZero();if(!this.isFinite())return this;this.normalizeThis();let s=Number(Qt(this.m_rn.v));if(s>t){const i=s-t;this.m_rn.v>>=BigInt(s-t),this.m_power+=i}if(s=Number(Qt(this.m_rd.v)),s>t){const i=s-t;this.m_rd.v>>=BigInt(s-t),this.m_power-=i}return this}hiBitIndex(){return Math.max(Number(Qt(this.m_rn.v)),Number(Qt(this.m_rd.v)))}ldexp(t){return this.clone().ldexpThis(t)}ldexpThis(t){return t&&(this.m_bNormalized=!1,this.m_power+=t,this.normalizeThis()),this}static lerp(t,s,i){return As.lerpLo(s,s,i)}static lerpLo(t,s,i){return s.sub(t).mulThis(i).addThis(t)}static lerpHi(t,s,i){return s.sub(t).mulThis(zs.sub(i)).addThis(t)}LZ(){return!this.isNAN()&&-1===this.m_sign}GZ(){return!this.isNAN()&&1===this.m_sign}LEZ(){return!this.isNAN()&&this.m_sign<=0}GEZ(){return!this.isNAN()&&this.m_sign>=0}toString(){return this.toDouble().toString()}sqr(){return this.clone().sqrThis()}sqrThis(){return this.mulThis(this.clone())}static sqrt(t,s){if(t.m_sign<0n&&(0,e.r)("MP_value: sqrt(-1)"),t.isZero())return t.clone();let i=52,n=2220446049250313e-31;for(;i<s;)2*i<=s?(n*=n,i*=2):(n*=2220446049250313e-31,i+=52);i+=52;const r=Qt(t.m_rn.v),h=Qt(t.m_rd.v);let u,m=t.m_power+Number(r-h);const a=new As;Math.abs(m)>200?(1&Math.abs(m)&&(m+=1),u=As.constructAssign(t,53).ldexpThis(-m).value(),a.setThis(t).ldexpThis(-m),(0,e.g)(Number.isFinite(u))):(a.setThis(t),u=a.value(),(0,e.g)(Number.isFinite(u)),m=0),u=Math.sqrt(u);const o=As.constructDouble(u),c=As.constructDouble(n);c.mulThis(o).ldexpThis(1);const l=n*u*2,x=o.clone(),y=new As;let f;for(let t=0;t<10;++t){x.mulThis(o),y.setThis(a).subThis(x).absThis();let t=y.value();if(f=1,t<.9)for(;t>l;)t*=t,++f;else f=4;if(y.lte(c))break;for(let t=0;t<f;t++)x.setThis(o).divThis(a).invertThis().addThis(o).ldexpThis(-1).limitPrecisionThis(i),o.setThis(x)}return o.ldexpThis(m/2)}static cubicRoot(t,s){if(t.isZero())return t.clone();let i=52,e=2220446049250313e-31;for(;i<s;)2*i<=s?(e*=e,i*=2):(e*=2220446049250313e-31,i+=52);i+=52;const n=Math.pow(Math.abs(t.value()),1/3),r=As.constructDouble(n),h=r.clone();h.sqrThis().mulDoubleThis(3).mulDoubleThis(e),h.limitPrecisionThis(32),t.LZ()&&r.negateThis();for(let s=0;s<10;++s){const s=r.clone();s.sqrThis().mulThis(r);const e=s.clone();if(e.subThis(t),e.absThis().limitPrecisionThis(32),e.lte(h))break;e.setThis(t),e.ldexpThis(1),e.addThis(s);const n=s.clone();n.ldexpThis(1),n.addThis(t),e.divThis(n),r.mulThis(e),r.limitPrecisionThis(i)}return r}isInTheRangeOfDouble(){return(0,e.g)(0),!1}sign(){return this.m_sign}cosAndSin(t,s){(0,e.g)(0)}pow(t){return ot(this,t)}static nan(){return(0,e.g)(0),new As}convertToDouble(){if(this.m_bNaN)return Number.NaN;if(this.isZero())return 0;if(0n===this.m_rd.v)return 1===this.m_sign?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY;const t=-1===this.m_sign,s=this.m_rn.v<<(this.m_power>=0?BigInt(this.m_power):0n);let i=this.m_rd.v<<(this.m_power<0?BigInt(-this.m_power):0n);const e=s/i;let n=Number(e);if(BigInt(n)!==e)return t?-n:n;let r=s-e*i;if(r){let t=Qt(i)-1023n;t>0n&&(i>>=t,r<<=52n,r>>=t);let s=Number(r);Number.isFinite(s)||(r>>=52n,s=Number(r),t=0n),t>0n&&(s/=Math.pow(2,52)),n+=s/Number(i)}return t?-n:n}signVal(){return 1===this.m_sign?1n:-1===this.m_sign?-1n:0n}opPlusMinus(t,s){const i=Math.min(this.m_power,t.m_power);let e,n;this.m_power>i?(e=BigInt(this.m_power-i),n=0n):(e=0n,n=BigInt(t.m_power-i));const r=this.signVal()*this.m_rn.v*t.m_rd.v<<e,h=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+h:r-h,this.m_rd.v*=t.m_rd.v,this.m_power=i,this.m_sign=1,this.m_rn.v<0n&&(this.m_sign=-1,this.m_rn.v=-this.m_rn.v),this.m_bNormalized=!1,this.normalizeThis(),this}}const zs=As.constructInt32(1),Ss=As.constructInt32(0),Ls=As.constructDouble(.5);function Rs(t,s){let i=Vt(t);const e=Vt(s);return i===e?(i-=53-function(t,s){return function(t){let s=0;return 0xffffffff00000000n&t&&(s=32,t>>=32n),s+function(t){let s=0;return 4294901760n&t&&(s+=16,t>>=16n),65280n&t&&(s+=8,t>>=8n),240n&t&&(s+=4,t>>=4n),s+h[Number(BigInt.asUintN(4,t))]+1}(t)}(t^s)}(Ut(t),Ut(s)),i):i>e?i:e}function Zs(t,s){for(let i=0,e=0,n=t.length;i<n;i+=2,e++)s[e].x=t[i],s[e].y=t[i+1]}function Bs(t){const s=new Float64Array(2*t.length);for(let i=0,e=t.length;i<e;++i){const e=i<<1;s[e]=t[i].x,s[e+1]=t[i].y}return s}function ks(t){const s=It(Gs,t.length);for(let i=0,e=t.length;i<e;++i)s[i].setCoords(t[i][0],t[i][1]);return s}class Gs{static dimensions=2;x;y;static d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]];static construct(t,s){return new Gs(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new Gs(this.x,this.y)}assign(t){this.setCoordsPoint2D(t)}setCoords(t,s){return this.x=t,this.y=s,this}setCoordsPoint2D(t){this.x=t.x,this.y=t.y}isEqualPoint2D(t,s){return void 0!==s?Math.abs(this.x-t.x)<=s&&Math.abs(this.y-t.y)<=s:this.x===t.x&&this.y===t.y}isEqual(t,s,i){return void 0!==i?Math.abs(this.x-t)<=i&&Math.abs(this.y-s)<=i:this.x===t&&this.y===s}equalsPoint2D(t,s){return this.isEqualPoint2D(t,s)}setSub(t,s){this.x=t.x-s.x,this.y=t.y-s.y}addThis(t){return this.x+=t.x,this.y+=t.y,this}setAdd(t,s){return this.x=t.x+s.x,this.y=t.y+s.y,this}absoluteOther(t){}absolute(){return(0,e.g)(0),this}setNegate(){this.x=-this.x,this.y=-this.y}setNegateOther(t){this.x=-t.x,this.y=-t.y}interpolateThis(t,s){}interpolate(t,s,i){(0,e.g)(0)}scaleAddThis(t,s){this.x=this.x*t+s.x,this.y=this.y*t+s.y}setScaleAdd(t,s,i){this.x=s.x*t+i.x,this.y=s.y*t+i.y}scaleOther(t,s){(0,e.g)(0)}scale(t){this.x*=t,this.y*=t}compare(t){return this.y<t.y?-1:this.y>t.y?1:this.x<t.x?-1:this.x>t.x?1:0}compareX(t){return this.x<t.x?-1:this.x>t.x?1:this.y<t.y?-1:this.y>t.y?1:0}normalizeOther(t){(0,e.g)(0)}normalize(){const t=this.length();return t?(this.x/=t,this.y/=t):(this.x=1,this.y=0),this}getUnitVector(){return this.clone().normalize()}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}sqrLength(){return this.x*this.x+this.y*this.y}static averageFast(t,s){return(0,e.g)(0),{}}static average(t,s){const i=new Gs;if(0===s)return i.setNAN(),i;if(1===s)return i.assign(t[0]),i;const e=new n(t[0].x),r=new n(t[0].y);for(let i=1;i<s;i++)e.add(t[i].x),r.add(t[i].y),255&i||(e.normalize(),r.normalize());return i.x=e.getResult()/s,i.y=r.getResult()/s,i}static calculateLength(t,s){const i=new n(0);for(let e=1;e<s;e++)i.add(Gs.distance(t[e],t[e-1]));return i.getResult()}offset(t,s){const i=Gs.distance(t,s),e=Gs.construct(this.x,this.y);if(0===i)return Gs.distance(e,t);const n=s.clone();return n.subThis(t),e.subThis(t),e.crossProduct(n)/i}side(t,s){return t.equals(s)?this.equals(t)?0:1:Gs.orientationRobust(s,t,this)}static sqrDistance(t,s){const i=t.x-s.x,e=t.y-s.y;return i*i+e*e}static sqrDistanceCoords(t,s,i,e){const n=i-t,r=e-s;return n*n+r*r}static distance(t,s){return Math.sqrt(Gs.sqrDistance(t,s))}dotProduct(t){return this.x*t.x+this.y*t.y}dotProductAbs(t){return Math.abs(this.x*t.x)+Math.abs(this.y*t.y)}crossProduct(t){return this.x*t.y-this.y*t.x}crossProductAbs(t){return(0,e.g)(0),0}rotateDirect(t,s){const i=this.x*t-this.y*s,e=this.x*s+this.y*t;this.x=i,this.y=e}rotateReverse(t,s){const i=this.x*t+this.y*s,e=-this.x*s+this.y*t;this.x=i,this.y=e}leftPerpendicularThis(){const t=this.x;this.x=-this.y,this.y=t}leftPerpendicularOther(t){const s=t.x;this.x=-t.y,this.y=s}rightPerpendicularThis(){const t=this.x;this.x=this.y,this.y=-t}rightPerpendicularOther(t){const s=t.x;this.x=t.y,this.y=-s}equals(t){return this.x===t.x&&this.y===t.y}notequals(t){return this.x!==t.x||this.y!==t.y}not(){return!this.x&&!this.y}gt(t){return this.y>t.y||this.y===t.y&&this.x>t.x}gte(t){return!this.lt(t)}lt(t){return this.y<t.y||this.y===t.y&&this.x<t.x}lte(t){return!this.gt(t)}subThis(t){return this.x-=t.x,this.y-=t.y,this}divThis(t){return this.x/=t,this.y/=t,this}add(t){return new Gs(this.x+t.x,this.y+t.y)}sub(t){return new Gs(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new Gs(-this.x,-this.y)}mul(t){return new Gs(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new Gs(this.x/t,this.y/t)}setNAN(){this.x=this.y=Number.NaN}isNAN(){return Number.isNaN(this.x)||Number.isNaN(this.y)}static getNAN(){return new Gs(Number.NaN,Number.NaN)}isFinite(){return Number.isFinite(this.x)&&Number.isFinite(this.y)}isZero(){return 0===this.x&&0===this.y}norm(t){switch(t){case 0:{const t=Math.abs(this.x),s=Math.abs(this.y),i=t-s;return i>=0?t:i<=0?s:Number.NaN}case 1:return Math.abs(this.x)+Math.abs(this.y);case 2:return Math.sqrt(this.x*this.x+this.y*this.y);default:(0,e.a)("norm")}}getQuarter(){return Gs.getQuarterCoords(this.x,this.y)}static getQuarterCoords(t,s){return t>0?s>=0?1:4:s>0?2:0===t?4:3}static compareVectors(t,s){const i=t.getQuarter(),e=s.getQuarter();return e===i?Gs.orientationRobustImpl(Gs.construct(0,0),s,t,!0):i<e?-1:1}static compareVectorsOrigin(t,s,i){const e=s.sub(t),n=i.sub(t),r=e.getQuarter(),h=n.getQuarter();return h===r?Gs.orientationRobustImpl(t,i,s,!0):r<h?-1:1}static orientationRobust(t,s,i){return Gs.orientationRobustImpl(t,s,i,!1)}static orientationRobustEx(t,s,i,e){if(t.equals(s)||i.equals(e))return 0;const n=s.x-t.x,r=s.y-t.y,h=e.x-i.x,u=e.y-i.y;{const t=Gs.getQuarterCoords(n,r)-1,s=Gs.getQuarterCoords(h,u)-1,i=Gs.d[t][s];if(0!==i)return i}const m=n*u,a=r*h,o=4*ps()*(Math.abs(m)+Math.abs(a)),c=m-a;return Math.abs(c)>=o?c<0?-1:c>0?1:0:Gs.orientationRobustExMp(t,s,i,e)}static orientationRobustExMp(t,s,i,e){const n=As.constructDouble(s.x),r=As.constructDouble(e.x);n.subThis(As.constructDouble(t.x)),r.subThis(As.constructDouble(i.x));const h=As.constructDouble(s.y),u=As.constructDouble(e.y);return h.subThis(As.constructDouble(t.y)),u.subThis(As.constructDouble(i.y)),n.mulThis(u),h.mulThis(r),n.subThis(h),n.LZ()?-1:n.GZ()?1:0}static orientationNonRobust(t,s,i){const e=s.sub(t).crossProduct(i.sub(t));return e<0?-1:e>0?1:0}static orientationRobustImpl(t,s,i,e){if(s.isEqualPoint2D(t)||i.isEqualPoint2D(t)||s.isEqualPoint2D(i))return 0;const n=s.x-t.x,r=s.y-t.y,h=i.x-t.x,u=i.y-t.y;if(!e){const t=Gs.getQuarterCoords(n,r)-1,s=Gs.getQuarterCoords(h,u)-1,i=Gs.d[t][s];if(0!==i)return i}const m=(Math.abs(n)+Math.abs(r)+Math.abs(h)+Math.abs(u))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(i.x)+Math.abs(i.y))*8*f(),a=n*u-r*h;if(Math.abs(a)>m)return a<0?-1:1;if(y(s.x,t.x)&&y(i.y,t.y)&&y(s.y,t.y)&&y(i.x,t.x)&&l(n,u)&&l(r,h)){const t=n*u,s=r*h;if(y(t,s)){const i=t-s;return i<0?-1:i>0?1:0}}return Gs.orientationRobustMp(t,s,i)}static orientationRobustMp(t,s,i){const e=As.constructDouble(s.x),n=As.constructDouble(i.x);{const s=As.constructDouble(t.x);e.subThis(s),n.subThis(s)}const r=As.constructDouble(i.y),h=As.constructDouble(s.y);{const s=As.constructDouble(t.y);r.subThis(s),h.subThis(s)}return e.mulThis(r),h.mulThis(n),e.subThis(h),e.LZ()?-1:e.GZ()?1:0}static inCircleRobust(t,s,i,e){const n=new c,r=new c;n.set(t.x),n.subThis(e.x),r.set(t.y),r.subThis(e.y);const h=new c,u=new c;h.set(s.x),h.subThis(e.x),u.set(s.y),u.subThis(e.y);const m=new c,a=new c;m.set(i.x),m.subThis(e.x),a.set(i.y),a.subThis(e.y);const o=n.mulE(u).subE(r.mulE(h)),l=h.mulE(a).subE(u.mulE(m)),x=n.mulE(a).subE(r.mulE(m)),y=n.mulE(n).addE(r.mulE(r)),f=h.mulE(h).addE(u.mulE(u)),d=m.mulE(m).addE(a.mulE(a)),v=y.mulE(l).subE(f.mulE(x)).addE(d.mulE(o));if(!v.isFuzzyZero()){const t=v.value();return t<0?-1:t>0?1:0}return Gs.inCircleRobustMp(t,s,i,e)}static inCircleRobustMp(t,s,i,e){do{if(!y(t.x,e.x)||!y(t.y,e.y))break;if(!y(s.x,e.x)||!y(s.y,e.y))break;if(!y(i.x,e.x)||!y(i.y,e.y))break;const n=t.x-e.x,r=t.y-e.y,h=s.x-e.x,u=s.y-e.y,m=i.x-e.x,a=i.y-e.y;if(!l(n,u)||!l(r,h))break;if(!l(h,a)||!l(u,m))break;if(!l(n,a)||!l(r,m))break;if(!l(n,n)||!l(r,r))break;if(!l(h,h)||!l(u,u))break;if(!l(m,m)||!l(a,a))break;const o=n*u,c=r*h,f=h*a,d=u*m,v=n*a,b=r*m,_=n*n,p=r*r,N=h*h,g=u*u,E=m*m,M=a*a;if(!y(o,c))break;if(!y(f,d))break;if(!y(v,b))break;if(!x(_,p))break;if(!x(N,g))break;if(!x(E,M))break;const T=o-c,w=f-d,I=v-b,D=_+p,C=N+g,P=E+M;if(!l(D,w))break;if(!l(C,I))break;if(!l(P,T))break;const q=D*w,A=C*I,z=P*T;if(!y(q,A))break;const S=q-A;if(!x(S,z))break;const L=S+z;return L<0?-1:L>0?1:0}while(0);const n=As.constructDouble(e.x),r=As.constructDouble(e.y),h=As.constructDouble(t.x),u=As.constructDouble(t.y);h.subThis(n),u.subThis(r);const m=As.constructDouble(s.x),a=As.constructDouble(s.y);m.subThis(n),a.subThis(r);const o=As.constructDouble(i.x),c=As.constructDouble(i.y);o.subThis(n),c.subThis(r);const f=h.mul(a).sub(u.mul(m)),d=m.mul(c).sub(a.mul(o)),v=h.mul(c).sub(u.mul(o)),b=h.mul(h).add(u.mul(u)),_=m.mul(m).add(a.mul(a)),p=o.mul(o).add(c.mul(c)),N=b.mul(d).sub(_.mul(v)).add(p.mul(f));return N.LZ()?-1:N.GZ()?1:0}static inCircleRobustMp3Point(t,s,i){const e=As.constructDouble(t.x),n=As.constructDouble(t.y),r=As.constructDouble(s.x),h=As.constructDouble(s.y),u=As.constructDouble(i.x),m=As.constructDouble(i.y),a=u.mul(u).add(m.mul(m)).sub(u.mul(e).add(m.mul(n)).add(u.mul(r)).add(m.mul(h))).add(e.mul(r).add(n.mul(h)));return a.LZ()?-1:a.GZ()?1:0}static inCircleRobust3Point(t,s,i){const e=new c(t.x),n=new c(t.y),r=new c(s.x),h=new c(s.y),u=new c(i.x),m=new c(i.y),a=u.mulE(u).addE(m.mulE(m)).subE(u.mulE(e).addE(m.mulE(n)).addE(u.mulE(r)).addE(m.mulE(h))).addE(e.mulE(r).addE(n.mulE(h)));if(!a.isFuzzyZero()){const t=a.value();return t<0?-1:t>0?1:0}return Gs.inCircleRobustMp3Point(t,s,i)}static calculateCircleCenterFromThreePoints(t,s,i){if(t.equals(i)||t.equals(s)||i.equals(s))return Gs.getNAN();const e=function(t,s,i){const e=new c(s.x);e.subThis(t.x);const n=new c(s.y);n.subThis(t.y);const r=new c(i.x);r.subThis(t.x);const h=new c(i.y);h.subThis(t.y);const u=e.clone();u.mulThisE(h);let m=n.clone();if(m.mulThisE(r),u.subThisE(m),0===u.value())return Gs.getNAN();u.mulThis(2);const a=e.clone();a.mulThisE(e);const o=n.clone();o.mulThisE(n);const l=a.clone();l.addThisE(o);const x=r.clone();x.mulThisE(r);const y=h.clone();y.mulThisE(h);const f=x.clone();f.addThisE(y);const d=n.clone();d.mulThisE(f),m=h.clone(),m.mulThisE(l),d.subThisE(m),d.divThisE(u);const v=e.clone();v.mulThisE(f),m=r.clone(),m.mulThisE(l),v.subThisE(m),v.divThisE(u);const b=Gs.construct(t.x-d.value(),t.y+v.value()),_=t.sub(b).length(),p=s.sub(b).length(),N=i.sub(b).length(),g=1e-15*(_+Math.abs(t.x)+Math.abs(s.x)+Math.abs(i.x)+Math.abs(t.y)+Math.abs(s.y)+Math.abs(i.y));return Math.abs(_-p)<=g&&Math.abs(_-N)<=g&&d.eps()<g&&v.eps()<g?b:Gs.getNAN()}(t,s,i);return e.isNAN()?function(t,s,i){const e=As.constructDouble(s.x);e.subDoubleThis(t.x);const n=As.constructDouble(s.y);n.subDoubleThis(t.y);const r=As.constructDouble(i.x);r.subDoubleThis(t.x);const h=As.constructDouble(i.y);h.subDoubleThis(t.y);const u=e.clone();u.mulThis(h);let m=n.clone();if(m.mulThis(r),u.subThis(m),u.isZero())return Gs.getNAN();u.mulDoubleThis(2);const a=e.clone();a.mulThis(e);const o=n.clone();o.mulThis(n);const c=a.clone();c.addThis(o);const l=r.clone();l.mulThis(r);const x=h.clone();x.mulThis(h);const y=l.clone();y.addThis(x);const f=n.clone();f.mulThis(y),m=h.clone(),m.mulThis(c),f.subThis(m),f.divThis(u);const d=e.clone();return d.mulThis(y),m=r.clone(),m.mulThis(c),d.subThis(m),d.divThis(u),Gs.construct(t.x-f.value(),t.y+d.value())}(t,s,i):e}static calculateAngle(t,s){return Math.atan2(t.crossProduct(s),t.dotProduct(s))}static isBisectorRobust(t,s,i){return(0,e.g)(0),!1}static size(){return 2}get 0(){return this.x}get 1(){return this.y}set 0(t){this.x=t}set 1(t){this.y=t}static c_compare_zorder_xx=[2,0];static c_compare_zorder_yy=[1,0];static compareZorder(t,s){const i=Gs.c_compare_zorder_xx[t.x<0?1:0]|Gs.c_compare_zorder_yy[t.y<0?1:0],e=Gs.c_compare_zorder_xx[s.x<0?1:0]|Gs.c_compare_zorder_yy[s.y<0?1:0];if(i===e){let i=0,e=0;for(let n=0;n<2;++n){const r=Rs(t[n],s[n]);r>i&&(i=r,e=n)}return t[e]<s[e]}return i<e}static lerp(t,s,i){const e=new Gs;return R(t,s,i,e),e}static getClosestCoordinate(t,s,i,e=!1){const n=Gs.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(i))return 1;const h=Gs.getNAN();h.setSub(i,t);let u=h.dotProduct(n)/r;return e||(u<0?u=0:u>1&&(u=1)),u}static intersectLinesAtOnePoint(t,s,i,e){if(t.equals(s)||i.equals(e))return Gs.getNAN();const n=s.x-t.x,r=i.x-e.x,h=s.y-t.y,u=i.y-e.y,m=n*u-r*h;if(!m)return Gs.getNAN();const a=m;if(0===a)return Gs.getNAN();let o=(i.x-t.x)*u-(i.y-t.y)*r;o/=a;const c=new Gs;return R(t,s,o,c),c.isFinite()?c:Gs.getNAN()}toString(){return`[${this.x},${this.y}]`}}i.d(s,["W",0,v,"a9",0,b,"aC",0,Rt,"aD",0,Ss,"af",0,o,"ag",0,zs,"as",0,_,"at",0,Ls,"k",0,1e16,"l",0,Bt,"n",0,Zt])}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[795],{68375(e,t,r){r.d(t,{O:()=>a});var i=r(61691),n=r(55537),s=r(39117),m=r(79187),u=r(86870);class a{getOperatorType(){return 10111}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,r,i,n,m,u,a,o,_,l){if(o){const o=new c(e,t,r,i,n,m,u,a,l);return(new s.W).executeMany(o,t,l,2)}return new c(e,t,r,i,n,m,u,a,l)}}class c extends i.G{m_inputGeoms;m_spatialReference;m_progressTracker;m_bufferer;m_distances;m_maxDeviation;m_miterLimit;m_maxVerticesInFullCircle;m_joins;m_caps;m_currentUnionEnvelope2D=new m.Envelope2D;m_index=-1;m_dindex=-1;constructor(e,t,r,i,n,s,m,a,c){super(),this.m_progressTracker=c,this.m_bufferer=new u.B(c),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_distances=r,this.m_maxDeviation=m,this.m_maxVerticesInFullCircle=a,this.m_joins=i,this.m_caps=n,this.m_miterLimit=s}tock(){return!0}getRank(){return 1}next(){{let e;for(;e=this.m_inputGeoms.next();)return(0,n.c)(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.buffer(e,this.m_distances[this.m_dindex]);return null}}getGeometryID(){return this.m_index}buffer(e,t){return this.m_bufferer.buffer(e,t,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_maxDeviation,this.m_maxVerticesInFullCircle)}}},50795(e,t,r){r.r(t),r.d(t,{executeMany:()=>o});var i=r(4576),n=r(86211),s=r(76061);const m=new(r(68375).O);var u=r(83299);const a={round:0,miter:1,bevel:2},c={round:0,butt:1,square:2};function o(e,t,r,o,_={}){let{miterLimit:l=10,maxDeviation:h=NaN,maxVerticesInFullCircle:f=96,union:p=!1,unit:x}=_;const[d,v]=(0,u.fromGeometries)(e);if(x){const r=(0,u.getSpatialReference)(e);r&&(t=t.map(e=>(0,n.UW)(e,x,r)),h&&(h=(0,n.UW)(h,x,r)))}return function(e,t,r,i,n,u,a,c,o){const _=m.executeMany(new s.S(e),t,r,i,n,u,a,c,o,0,null);return Array.from(_)}(d,v,t,a[r],c[o],l,h,f,p).map(e=>(0,u.toGeometry)(e,v)).filter(i.Ru)}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[795],{68375(e,t,r){r.d(t,{O:()=>a});var i=r(61691),n=r(55537),s=r(39117),m=r(79187),u=r(86870);class a{getOperatorType(){return 10111}supportsCurves(){return!0}accelerateGeometry(e,t,r){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,r,i,n,m,u,a,o,_,l){if(o){const o=new c(e,t,r,i,n,m,u,a,l);return(new s._).executeMany(o,t,l,2)}return new c(e,t,r,i,n,m,u,a,l)}}class c extends i.G{m_inputGeoms;m_spatialReference;m_progressTracker;m_bufferer;m_distances;m_maxDeviation;m_miterLimit;m_maxVerticesInFullCircle;m_joins;m_caps;m_currentUnionEnvelope2D=new m.Envelope2D;m_index=-1;m_dindex=-1;constructor(e,t,r,i,n,s,m,a,c){super(),this.m_progressTracker=c,this.m_bufferer=new u.B(c),this.m_inputGeoms=e,this.m_spatialReference=t,this.m_distances=r,this.m_maxDeviation=m,this.m_maxVerticesInFullCircle=a,this.m_joins=i,this.m_caps=n,this.m_miterLimit=s}tock(){return!0}getRank(){return 1}next(){{let e;for(;e=this.m_inputGeoms.next();)return(0,n.c)(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.m_dindex+1<this.m_distances.length&&this.m_dindex++,this.buffer(e,this.m_distances[this.m_dindex]);return null}}getGeometryID(){return this.m_index}buffer(e,t){return this.m_bufferer.buffer(e,t,this.m_spatialReference,this.m_joins,this.m_caps,this.m_miterLimit,this.m_maxDeviation,this.m_maxVerticesInFullCircle)}}},50795(e,t,r){r.r(t),r.d(t,{executeMany:()=>o});var i=r(4576),n=r(86211),s=r(76061);const m=new(r(68375).O);var u=r(83299);const a={round:0,miter:1,bevel:2},c={round:0,butt:1,square:2};function o(e,t,r,o,_={}){let{miterLimit:l=10,maxDeviation:h=NaN,maxVerticesInFullCircle:f=96,union:p=!1,unit:x}=_;const[d,v]=(0,u.fromGeometries)(e);if(x){const r=(0,u.getSpatialReference)(e);r&&(t=t.map(e=>(0,n.UW)(e,x,r)),h&&(h=(0,n.UW)(h,x,r)))}return function(e,t,r,i,n,u,a,c,o){const _=m.executeMany(new s.S(e),t,r,i,n,u,a,c,o,0,null);return Array.from(_)}(d,v,t,a[r],c[o],l,h,f,p).map(e=>(0,u.toGeometry)(e,v)).filter(i.Ru)}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7013],{69052(t,e,r){r.d(e,{hr:()=>n});var s=r(34727);class n{constructor(t,e){this.min=t,this.max=e,this.range=e-t}normalize(t,e=0,r=!1){return i(this.range,this.min,this.max,t,e,r)}clamp(t,e=0){return(0,s.qE)(t-e,this.min,this.max)+e}monotonic(t,e,r){return t<e?e:e+a(this.range,t-e,r)}minimalMonotonic(t,e,r){return i(this.range,t,t+this.range,e,r)}center(t,e,r){return e=this.monotonic(t,e,r),this.normalize((t+e)/2,r)}diff(t,e,r){return this.monotonic(t,e,r)-t}shortestSignedDiff(t,e){t=this.normalize(t);const r=(e=this.normalize(e))-t,s=e<t?this.minimalMonotonic(t,e)-t:e-this.minimalMonotonic(e,t);return Math.abs(r)<Math.abs(s)?r:s}contains(t,e,r){return e=this.minimalMonotonic(t,e),(r=this.minimalMonotonic(t,r))>t&&r<e}}function i(t,e,r,s,n=0,i=!1){return(s-=n)<e?s+=a(t,e-s):s>r&&(s-=a(t,s-r)),i&&s===r&&(s=e),s+n}function a(t,e,r=0){return Math.ceil((e-r)/t)*t+r}const o=new n(0,2*Math.PI),u=(new n(-Math.PI,Math.PI),new n(0,360));r.d(e,["ie",0,u,"uC",0,o])},82534(t,e,r){function s(){return[0,0,0,1]}function n(t){return[t[0],t[1],t[2],t[3]]}r.d(e,{o8:()=>n,vt:()=>s});const i=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:n,create:s,fromValues:function(t,e,r,s){return[t,e,r,s]}},Symbol.toStringTag,{value:"Module"})),r.d(e,["zK",0,i])},67026(t,e,r){r.d(e,{A6:()=>f,Xd:()=>c,Xr:()=>h,lw:()=>p,x8:()=>l});var s=r(29242),n=r(82534),i=r(51850),a=r(34304),o=r(35522),u=r(78955);function l(t,e,r){r*=.5;const s=Math.sin(r);return t[0]=s*e[0],t[1]=s*e[1],t[2]=s*e[2],t[3]=Math.cos(r),t}function c(t,e){const r=2*Math.acos(e[3]),s=Math.sin(r/2);return s>(0,a.FD)()?(t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s):(t[0]=1,t[1]=0,t[2]=0),r}function p(t,e,r){const s=e[0],n=e[1],i=e[2],a=e[3],o=r[0],u=r[1],l=r[2],c=r[3];return t[0]=s*c+a*o+n*l-i*u,t[1]=n*c+a*u+i*o-s*l,t[2]=i*c+a*l+s*u-n*o,t[3]=a*c-s*o-n*u-i*l,t}function d(t,e,r,s){const n=e[0],i=e[1],o=e[2],u=e[3];let l,c,p,d,h,y=r[0],f=r[1],m=r[2],g=r[3];return c=n*y+i*f+o*m+u*g,c<0&&(c=-c,y=-y,f=-f,m=-m,g=-g),1-c>(0,a.FD)()?(l=Math.acos(c),p=Math.sin(l),d=Math.sin((1-s)*l)/p,h=Math.sin(s*l)/p):(d=1-s,h=s),t[0]=d*n+h*y,t[1]=d*i+h*f,t[2]=d*o+h*m,t[3]=d*u+h*g,t}function h(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function y(t,e){const r=e[0]+e[4]+e[8];let s;if(r>0)s=Math.sqrt(r+1),t[3]=.5*s,s=.5/s,t[0]=(e[5]-e[7])*s,t[1]=(e[6]-e[2])*s,t[2]=(e[1]-e[3])*s;else{let r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);const n=(r+1)%3,i=(r+2)%3;s=Math.sqrt(e[3*r+r]-e[3*n+n]-e[3*i+i]+1),t[r]=.5*s,s=.5/s,t[3]=(e[3*n+i]-e[3*i+n])*s,t[n]=(e[3*n+r]+e[3*r+n])*s,t[i]=(e[3*i+r]+e[3*r+i])*s}return t}function f(t,e,r,s){const n=.5*Math.PI/180;e*=n,r*=n,s*=n;const i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),u=Math.cos(r),l=Math.sin(s),c=Math.cos(s);return t[0]=i*u*c-a*o*l,t[1]=a*o*c+i*u*l,t[2]=a*u*l-i*o*c,t[3]=a*u*c+i*o*l,t}const m=u.C,g=u.hZ,b=u.WQ,S=p,A=u.hs,v=u.Om,_=u.Cc,x=u.Bw,w=x,M=u.m3,q=M,I=u.S8,F=u.t2,R=u.aI,O=(0,i.vt)(),C=(0,i.fA)(1,0,0),T=(0,i.fA)(0,1,0),P=(0,n.vt)(),E=(0,n.vt)(),N=(0,s.vt)();Object.freeze(Object.defineProperty({__proto__:null,add:b,calculateW:function(t,e){const r=e[0],s=e[1],n=e[2];return t[0]=r,t[1]=s,t[2]=n,t[3]=Math.sqrt(Math.abs(1-r*r-s*s-n*n)),t},conjugate:h,copy:m,dot:v,equals:R,exactEquals:F,fromEuler:f,fromMat3:y,getAxisAngle:c,identity:function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},invert:function(t,e){const r=e[0],s=e[1],n=e[2],i=e[3],a=r*r+s*s+n*n+i*i,o=a?1/a:0;return t[0]=-r*o,t[1]=-s*o,t[2]=-n*o,t[3]=i*o,t},len:w,length:x,lerp:_,mul:S,multiply:p,normalize:I,random:function(t){const e=a.Ov,r=e(),s=e(),n=e(),i=Math.sqrt(1-r),o=Math.sqrt(r);return t[0]=i*Math.sin(2*Math.PI*s),t[1]=i*Math.cos(2*Math.PI*s),t[2]=o*Math.sin(2*Math.PI*n),t[3]=o*Math.cos(2*Math.PI*n),t},rotateX:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u+a*o,t[1]=n*u+i*o,t[2]=i*u-n*o,t[3]=a*u-s*o,t},rotateY:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u-i*o,t[1]=n*u+a*o,t[2]=i*u+s*o,t[3]=a*u-n*o,t},rotateZ:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u+n*o,t[1]=n*u-s*o,t[2]=i*u+a*o,t[3]=a*u-i*o,t},rotationTo:function(t,e,r){const s=(0,o.Om)(e,r);return s<-.999999?((0,o.$A)(O,C,e),(0,o.Il)(O)<1e-6&&(0,o.$A)(O,T,e),(0,o.S8)(O,O),l(t,O,Math.PI),t):s>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):((0,o.$A)(O,e,r),t[0]=O[0],t[1]=O[1],t[2]=O[2],t[3]=1+s,I(t,t))},scale:A,set:g,setAxes:function(t,e,r,s){const n=N;return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=s[0],n[4]=s[1],n[7]=s[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],I(t,y(t,n))},setAxisAngle:l,slerp:d,sqlerp:function(t,e,r,s,n,i){return d(P,e,n,i),d(E,r,s,i),d(t,P,E,2*i*(1-i)),t},sqrLen:q,squaredLength:M,str:function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}},Symbol.toStringTag,{value:"Module"})),r.d(e,["hZ",0,g,"t2",0,F])},93146(t,e,r){r.d(e,{z:()=>n});class s{constructor(t){this._import=t,this.module=null,this._promise=null}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(async t=>(this.module=t,t))),this._promise}}function n(t){return new s(async()=>{const e=await t();return!1===e.isLoaded?.()&&await e.load(),e})}},95696(t,e,r){r.d(e,{A:()=>l});var s,n=r(5482),i=r(69540),a=r(25482),o=r(91429),u=r(93223);let l=class extends((0,i.OU)(a.o)){static{s=this}constructor(t){super(t),this.type="georeferenced",this.origin=null}static{this.absolute=new s}};(0,n.Cg)([(0,u.e)({georeferenced:"georeferenced"},{readOnly:!0})],l.prototype,"type",void 0),(0,n.Cg)([(0,o.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],l.prototype,"origin",void 0),l=s=(0,n.Cg)([(0,o.$K)("esri.geometry.support.MeshGeoreferencedVertexSpace")],l)},18251(t,e,r){r.d(e,{A:()=>l});var s=r(5482),n=r(69540),i=r(25482),a=r(91429),o=r(51850),u=r(93223);let l=class extends((0,n.OU)(i.o)){constructor(t){super(t),this.type="local",this.origin=(0,o.vt)()}};(0,s.Cg)([(0,u.e)({local:"local"},{readOnly:!0})],l.prototype,"type",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],l.prototype,"origin",void 0),l=(0,s.Cg)([(0,a.$K)("esri.geometry.support.MeshLocalVertexSpace")],l)},73836(t,e,r){r.d(e,{A:()=>h});var s=r(5482),n=r(69540),i=r(25482),a=r(91429),o=r(58083),u=r(9093),l=r(67026),c=r(82534),p=r(51850),d=r(24770);let h=class extends((0,n.OU)(i.o)){constructor(t){super(t),this.translation=(0,p.vt)(),this.rotationAxis=(0,p.ci)(d.up),this.rotationAngle=0,this.scale=(0,p.fA)(1,1,1)}get rotation(){return(0,d.i4)(this.rotationAxis,this.rotationAngle)}set rotation(t){this.rotationAxis=(0,p.o8)((0,d.yo)(t)),this.rotationAngle=(0,d.g7)(t)}get localMatrix(){const t=(0,u.vt)();return(0,l.x8)(y,(0,d.yo)(this.rotation),(0,d.$I)(this.rotation)),(0,o.o1)(t,y,this.translation,this.scale),t}get localMatrixInverse(){return(0,o.B8)((0,u.vt)(),this.localMatrix)}equals(t){return this===t||null!=t&&(0,o.t2)(this.localMatrix,t.localMatrix)}};(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"translation",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"rotationAxis",void 0),(0,s.Cg)([(0,a.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],h.prototype,"rotationAngle",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"scale",void 0),(0,s.Cg)([(0,a.MZ)()],h.prototype,"rotation",null),(0,s.Cg)([(0,a.MZ)()],h.prototype,"localMatrix",null),(0,s.Cg)([(0,a.MZ)()],h.prototype,"localMatrixInverse",null),h=(0,s.Cg)([(0,a.$K)("esri.geometry.support.MeshTransform")],h);const y=(0,c.vt)()},24770(t,e,r){r.d(e,{$I:()=>m,AU:()=>h,g7:()=>f,i4:()=>c,ui:()=>p,vt:()=>l,yo:()=>y});var s=r(34727),n=r(58083),i=r(67026),a=r(82534),o=r(35522),u=r(51850);function l(t=b){return[t[0],t[1],t[2],t[3]]}function c(t,e,r=l()){return(0,o.C)(r,t),r[3]=e,r}function p(t,e=l()){const r=(0,n.l)(S,t);return g(e,(0,s.KJ)((0,i.Xd)(e,r))),e}function d(t,e,r=l()){return(0,i.x8)(S,t,m(t)),(0,i.x8)(A,e,m(e)),(0,i.lw)(S,A,S),g(r,(0,s.KJ)((0,i.Xd)(r,S)))}function h(t,e,r,s=l()){return c(u.Cw,t,v),c(u.JP,e,_),c(u.Cb,r,x),d(v,_,v),d(v,x,s),s}function y(t){return t}function f(t){return t[3]}function m(t){return(0,s.kU)(t[3])}function g(t,e){return t[3]=e,t}const b=[0,0,1,0],S=(0,a.vt)(),A=(0,a.vt)(),v=(l(),l()),_=l(),x=l();r.d(e,["up",0,b])},63579(t,e,r){r.d(e,{Bq:()=>u,Qp:()=>o,WN:()=>m,dK:()=>g,eN:()=>h,fH:()=>f,in:()=>y,yr:()=>l});var s=r(11254),n=r(4576),i=r(17676),a=r(20557);class o{constructor(t,e,r){this.assetName=t,this.assetMimeType=e,this.parts=r}equals(t){return this===t||this.assetName===t.assetName&&this.assetMimeType===t.assetMimeType&&(0,n.aI)(this.parts,t.parts,(t,e)=>t.equals(e))}isOnService(t){return this.parts.every(e=>e.isOnService(t))}makeHash(){let t="";for(const e of this.parts)t+=e.partHash;return t}async toBlob(t){const{parts:e}=this;if(1===e.length)return e[0].toBlob(t);const r=await Promise.all(e.map(e=>e.toBlob(t)));return(0,i.Te)(t),new Blob(r)}}class u{constructor(t,e){this.partUrl=t,this.partHash=e}equals(t){return this===t||this.partUrl===t.partUrl&&this.partHash===t.partHash}isOnService(t){return this.partUrl.startsWith(`${t.path}/assets/`)}async toBlob(t){const{data:e}=await(0,s.A)(this.partUrl,{responseType:"blob"});return(0,i.Te)(t),e}}function l(t){return function(t){switch(t?.type){case"client":return Array.isArray(t.files)?t.files.some(d):d(t.files);case"service":return t.assets.some(d);case"loadable":return!0;default:return!1}}(t?.source)}const c=/^(model\/gltf\+json)|(model\/gltf-binary)$/,p=/\.(gltf|glb)/i;function d(t){if(t instanceof File){const{type:e,name:r}=t;return c.test(e)||p.test(r)}return c.test(t.assetMimeType)||p.test(t.assetName)}function h(t,e){if(!t)return!1;const{source:r}=t;return function(t,e){return"service"===t.type&&t.assets.every(t=>t.isOnService(e))}(r,e)}function y(t,e){if(t===e)return!0;const{source:r}=t,{source:s}=e;if(r===s)return!0;if("service"===r.type&&"service"===s.type){if(r.assets.length!==s.assets.length)return!1;const t=(t,e)=>t.assetName<e.assetName?-1:t.assetName>e.assetName?1:0,e=[...r.assets].sort(t),n=[...s.assets].sort(t);for(let t=0;t<e.length;++t)if(!e[t].equals(n[t]))return!1;return!0}return!1}function f(t,e){return t instanceof File?(0,a.rq)(t,e):(0,a.z$)(t.assetMimeType,t.assetName,e)}function m(t){switch(t.type){case"client":return Array.isArray(t.files)?t.files:[t.files];case"service":return t.assets;case"loadable":return}}function g(t){return!!t.original}},27615(t,e,r){r.d(e,{CK:()=>u,Hq:()=>o,MW:()=>l,TE:()=>c,yJ:()=>p});var s=r(35522),n=r(86738),i=r(95696),a=r(18251);function o(t){return null!=t.origin}function u(t){return o(t.vertexSpace)}function l(t,e){if(!o(t))return null;const[r,s,i]=t.origin;return new n.A({x:r,y:s,z:i,spatialReference:e})}function c(t,e){const{x:r,y:s,z:n,spatialReference:o}=t,u=[r,s,n??0];return"local"===(e?.vertexSpace??function(t){return t.isGeographic||t.isWebMercator?"local":"georeferenced"}(o))?new a.A({origin:u}):new i.A({origin:u})}function p(t,e){return t.type===e.type&&(t.origin===e.origin||null!=t.origin&&null!=e.origin&&(0,s.t2)(t.origin,e.origin))}},52039(t,e,r){r.d(e,{O7:()=>p,el:()=>u});var s=r(69052),n=(r(49186),r(17676)),i=(r(5443),r(39829),r(82799),r(16930)),a=r(93146),o=(r(80754),r(21325));async function u(t,e,r){Array.isArray(t)||(t=[t]),null!=e&&"object"==typeof e&&"authMode"in e&&(r=e);let s=null;for(const e of t)s??=e?.spatialReference;if(!s)return t;const i=(0,o.Vp)(s);if(!i)return t;const[a,u]=i.valid;let p=!1;for(const e of t){if(!e)continue;if("point"===e.type){p||=e.x>=u,p||=e.x<=a;continue}const{extent:t}=e;if(null==t){p=!0;break}p||=t.xmin>=u,p||=t.xmin<=a,p||=t.xmax>=u,p||=t.xmax<=a}if(!p)return t;const[{foldInto360Range:d},h]=await(0,n.qr)(Promise.all([l.getImportPromise(),c.getImportPromise()]),r),y=h.fromSpatialReference(s);return t.map(t=>{if(null==t||"mesh"===t.type)return t;const e=h.fromGeometry(t),r=h.toGeometry(d(e,y),s);return"extent"===t.type&&1===r?.rings.length?r.extent:r})}const l=(0,a.z)(()=>r.e(4144).then(r.bind(r,4144))),c=(0,a.z)(()=>Promise.all([r.e(9187),r.e(8885),r.e(9117),r.e(3299),r.e(1550)]).then(r.bind(r,78125)));function p(t,e,r){const s=(0,o.Vp)(r);if(null==s)return t;const[n,i]=s.valid,a=2*i;let u=0,l=0;e>i?u=Math.ceil(Math.abs(e-i)/a):e<n&&(u=-Math.ceil(Math.abs(e-n)/a)),t>i?l=Math.ceil(Math.abs(t-i)/a):t<n&&(l=-Math.ceil(Math.abs(t-n)/a));let c=t+(u-l)*a;const p=c-e;return p>i?c-=a:p<n&&(c+=a),c}function d(t){const e=(0,o.Vp)(t);if(null==e)return null;const[r,n]=e.valid;return new s.hr(r,n)}const h=d(i.A.WGS84);d(i.A.WebMercator),r.d(e,["Y_",0,h])},80754(t,e,r){r.d(e,{kS:()=>l,kd:()=>u});var s=r(82799),n=r(16930),i=r(60408),a=r(52006);const o={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function u(t,e){return Math.ceil((t-e)/(2*e))}function l(t,e){if((0,a.Ed)(t))for(const r of function(t){return(0,i.Bi)(t)?t.curveRings:t.curvePaths}(t))for(const t of r){if((0,a.aO)(t)){const[r,s]=t.c;r[0]+=e,s[0]+=e;continue}if((0,a.FG)(t)){const[r,s]=t.a;r[0]+=e,s[0]+=e;continue}if((0,a.n1)(t)){const[r,s,n]=t.b;r[0]+=e,s[0]+=e,n[0]+=e;continue}t[0]+=e}for(const r of function(t){return(0,i.Bi)(t)?t.rings:t.paths}(t))for(const t of r)t[0]+=e;return t}r.d(e,["j7",0,o])},99352(t,e,r){r.d(e,["F",0,{supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!0,supportedSpatialAggregationStatistics:{envelope:!0,centroid:!0,convexHull:!0},supportsStatisticsAggregatedIds:!0,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDistance:!0,supportsOutDistance:!1,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsReturnExceededLimitGeometries:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsFormatPBFWithCurves:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:0,standardMaxRecordCount:void 0,standardMaxRecordCountNoGeometry:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},"P",0,{supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}}])},65515(t,e,r){r.r(e),r.d(e,{default:()=>Y});var s=r(5482),n=r(92602),i=r(11254),a=r(4576),o=r(49186),u=r(44208),l=r(66552),c=r(92474),p=r(53966),d=r(93637),h=r(17676),y=r(36708),f=r(84952),m=r(13069),g=r(91429),b=r(5443),S=r(16930),A=r(95696),v=r(27615),_=r(63579),x=r(52106),w=r(86211);function M(t){return"object"==typeof t&&null!=t&&"objectId"in t&&!!t.objectId}function q(t){return"object"==typeof t&&null!=t&&"globalId"in t&&!!t.globalId}function I(t){return t.every(q)}var F=r(99917),R=r(65864),O=r(73836),C=r(21325);async function T(t,e,r){const{geometry:s}=e,n={...e.attributes};if(null!=r&&"mesh"===s?.type){const{transformFieldRoles:e}=r,{origin:i,spatialReference:a,vertexSpace:o}=s,u=s.transform??new O.A,l="local"===o.type,c=t.spatialReference,p=c.isGeographic,d=(0,C.aI)(c,a),h=(0,F.isEqualBaseGCS)(a,c)&&(0,F.canProjectWithoutEngine)(a,c);if(!(l&&p&&h||!l&&!p&&d))return null;const y=(0,F.projectWithoutEngine)(i,a,c);if(null==y)return null;if(n[e.originX]=y.x,n[e.originY]=y.y,n[e.originZ]=y.z??0,null!=u){const{translation:t,scale:r,rotation:s}=u,i=l?1:(0,w.KX)(a)/(0,w.KX)(c);n[e.translationX]=t[0]*i,n[e.translationY]=t[2]*i,n[e.translationZ]=-t[1]*i,n[e.scaleX]=r[0],n[e.scaleY]=r[2],n[e.scaleZ]=r[1],n[e.rotationX]=s[0],n[e.rotationY]=s[2],n[e.rotationZ]=-s[1],n[e.rotationDeg]=s[3]}return{attributes:n}}return null==s?{attributes:n}:"mesh"===s.type||"extent"===s.type?null:{geometry:s.toJSON(),attributes:n}}async function P(t,e){const r=await Promise.all((e.addAttachments??[]).map(e=>E(t,e))),s=await Promise.all((e.updateAttachments??[]).map(e=>E(t,e))),n=e.deleteAttachments??[];return r.length||s.length||n.length?{adds:r,updates:s,deletes:[...n]}:null}async function E(t,e){const{feature:r,attachment:s}=e,{globalId:n,name:i,contentType:a,data:o,keywords:u,uploadId:l}=s,c={globalId:n};if(r&&("attributes"in r?c.parentGlobalId=r.attributes?.[t.globalIdField]:r.globalId&&(c.parentGlobalId=r.globalId)),l)c.uploadId=l;else if(o){const t=await(0,f._0)(o);t&&(c.contentType=t.mediaType,c.data=t.data),o instanceof File&&(c.name=o.name)}return i&&(c.name=i),a&&(c.contentType=a),u&&(c.keywords=u),c}function N(t,e,r){if(!e||0===e.length)return[];if(r&&I(e))return e.map(t=>t.globalId);if(function(t){return t.every(M)}(e))return e.map(t=>t.objectId);const s=r?t.globalIdField:t.objectIdField;return s?e.map(t=>t.getAttribute(s)):[]}function D(t){const e=!0===t.success?null:t.error||{code:void 0,description:"Feature edit failed"};return{objectId:t.objectId,globalId:t.globalId,error:e?new o.A("feature-layer-source:edit-failure",e.description,{code:e.code}):null}}function Q(t,e){return new x.A({attributes:t.attributes,geometry:(0,R.rS)({...t.geometry,spatialReference:e})})}function V(t,e){return{adds:t?.adds?.map(t=>Q(t,e))||[],updates:t?.updates?.map(t=>({original:Q(t[0],e),current:Q(t[1],e)}))||[],deletes:t?.deletes?.map(t=>Q(t,e))||[],spatialReference:e}}var Z=r(64714),j=r(64314),J=r(60694),U=r(15426),G=r(20557),k=r(99199),B=r(96520),z=r(97552),X=r(79677),L=r(20816);const $=new l.J({originalAndCurrentFeatures:"original-and-current-features",none:"none"}),W=new l.J({Started:"published",Publishing:"publishing",Stopped:"unavailable"});let Y=class extends c.x_{constructor(t){super(t),this.type="feature-layer",this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer","Annotation Layer","Dimension Layer"]),this.refresh=(0,h.sg)(async()=>{await this.load();const t=this.sourceJSON.editingInfo?.lastEditDate;if(null==t)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}const e=t!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:e,updates:e?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}}),this._ongoingAssetUploads=new Map}load(t){const e=this.layer.sourceJSON,r=this._fetchService(e,{...t}).then(()=>this.layer.setUserPrivileges(this.sourceJSON.serviceItemId,t)).then(()=>this._ensureLatestMetadata(t));return this.addResolvingPromise(r),Promise.resolve(this)}initialize(){this.addHandles([(0,y.wB)(()=>{const t=this.layer;return t&&"lastEditsEventDate"in t?t.lastEditsEventDate:null},t=>this._handleLastEditsEventChange(t))])}destroy(){this._removeEditInterceptor()}get queryTask(){const{capabilities:t,parsedUrl:e,gdbVersion:r,spatialReference:s,fieldsIndex:n,uniqueIdFields:i}=this.layer,a="infoFor3D"in this.layer?this.layer.infoFor3D:null,o="dynamicDataSource"in this.layer?this.layer.dynamicDataSource:null,l=(0,u.A)("featurelayer-pbf")&&t?.query.supportsFormatPBF&&null==a,c=l&&t?.query.supportsFormatPBFWithCurves,p=t?.operations?.supportsQueryAttachments??!1,d=t?.query?.relativeTimeBinWindow??0,h=e.path;return new j.A({dynamicDataSource:o,fieldsIndex:n,gdbVersion:r,infoFor3D:a,pbfSupported:l,pbfSupportedWithCurves:c,queryAttachmentsSupported:p,relativeTimeBinWindow:d,sourceSpatialReference:s,uniqueIdFields:i,url:h})}async addAttachment(t,e,r){await this.load();const{layer:s}=this;await(0,U.VA)(s,"editing");const n=t.attributes[s.objectIdField],a=s.parsedUrl.path+"/"+n+"/addAttachment",o=this._getLayerRequestOptions({query:r}),u=this._getFormDataForAttachment(e,o.query);try{return D((await(0,i.A)(a,{body:u})).data.addAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(n,t)}}async updateAttachment(t,e,r,s){await this.load();const{layer:n}=this;await(0,U.VA)(n,"editing");const a=t.attributes[n.objectIdField],o=n.parsedUrl.path+"/"+a+"/updateAttachment",u=this._getLayerRequestOptions({query:{attachmentId:e,...s}}),l=this._getFormDataForAttachment(r,u.query);try{return D((await(0,i.A)(o,{body:l})).data.updateAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(a,t)}}async applyEdits(t,e){await this.load();const{layer:r}=this;await(0,U.VA)(r,"editing");const s="infoFor3D"in r?r.infoFor3D:null,n=null!=s,u=n||(e?.globalIdUsed??!1),l=n?await this._uploadMeshesAndGetAssetMapEditsJSON(t):null,c=t.addFeatures?.map(t=>T(this.layer,t,s))??[],p=(await Promise.all(c)).filter(a.Ru),d=t.updateFeatures?.map(t=>T(this.layer,t,s))??[],h=(await Promise.all(d)).filter(a.Ru),y=N(this.layer,t.deleteFeatures,u);(0,B.u)(p,h,r.spatialReference);const f=await P(this.layer,t),m=r.capabilities.editing.supportsAsyncApplyEdits&&n,g=e?.gdbVersion||r.gdbVersion,b={gdbVersion:g,rollbackOnFailure:e?.rollbackOnFailureEnabled,useGlobalIds:u,returnEditMoment:e?.returnEditMoment,trueCurveClient:e?.editsRespectTrueCurves,usePreviousEditMoment:e?.usePreviousEditMoment,async:m};await(0,L.ZJ)(this.layer.url,g,!0);const S=(0,L.w5)(this.layer.url,g||null);if(await(0,L.We)(r.url,g,r.historicMoment))throw new o.A("feature-layer-source:historic-version","Editing a historic version is not allowed");e?.returnServiceEditsOption?(b.edits=JSON.stringify([{id:r.layerId,adds:p.length?p:null,updates:h.length?h:null,deletes:y.length?y:null,attachments:f,assetMaps:l}]),b.returnServiceEditsOption=$.toJSON(e?.returnServiceEditsOption),b.returnServiceEditsInSourceSR=e?.returnServiceEditsInSourceSR):(b.adds=p.length?JSON.stringify(p):null,b.updates=h.length?JSON.stringify(h):null,b.deletes=y.length?u?JSON.stringify(y):y.join(","):null,b.attachments=f&&JSON.stringify(f),b.assetMaps=null!=l?JSON.stringify(l):void 0);const A=this._getLayerRequestOptions({method:"post",query:b});S&&(A.authMode="immediate",A.query.returnEditMoment=!0,A.query.sessionId=L.TA);const v=e?.returnServiceEditsOption?r.url:r.parsedUrl.path;let _;try{_=m?await this._asyncApplyEdits(v+"/applyEdits",A):await(0,i.A)(v+"/applyEdits",A)}catch(t){if(!function(t){const e=t.details.raw,r=+e.code,s=+e.extendedCode;return 500===r&&(-2147217144===s||-2147467261===s)}(t))throw t;A.authMode="immediate",_=m?await this._asyncApplyEdits(v+"/applyEdits",A):await(0,i.A)(v+"/applyEdits",A)}return this._createEditsResult(_)}async deleteAttachments(t,e,r){await this.load();const{layer:s}=this;await(0,U.VA)(s,"editing");const n=t.attributes[s.objectIdField],a=s.parsedUrl.path+"/"+n+"/deleteAttachments";try{return(await(0,i.A)(a,this._getLayerRequestOptions({query:{attachmentIds:e.join(","),...r},method:"post"}))).data.deleteAttachmentResults.map(D)}catch(t){throw this._createAttachmentErrorResult(n,t)}}fetchRecomputedExtents(t={}){const e=t.signal;return this.load({signal:e}).then(async()=>{const e=this._getLayerRequestOptions({...t,query:{returnUpdates:!0}}),{layerId:r,url:s}=this.layer,{data:n}=await(0,i.A)(`${s}/${r}`,e),{id:a,extent:o,fullExtent:u,timeExtent:l}=n,c=o||u;return{id:a,fullExtent:c&&b.A.fromJSON(c),timeExtent:l&&X.A.fromJSON({start:l[0],end:l[1]})}})}async queryAttachments(t,e={}){await this.load();const r=this._getLayerRequestOptions(e);return this.queryTask.executeAttachmentQuery(t,r)}async queryFeatures(t,e){await this.load();const r=await this.queryTask.execute(t,{...e,query:this._createRequestQueryOptions(e)});if(t.outStatistics?.length&&r.features.length){const e=new Map;if(r.features.forEach(r=>{const s=r.attributes;t.outStatistics?.forEach(({outStatisticFieldName:t})=>{if(t){const r=t.toLowerCase();r&&r in s&&t!==r&&(s[t]=s[r],delete s[r],e.set(r,t))}})}),null!=r.fields)for(const t of r.fields){const r=e.get(t.name.toLowerCase());null!=r&&(t.name=r)}}return r}async queryFeaturesJSON(t,e){return await this.load(),this.queryTask.executeJSON(t,{...e,query:this._createRequestQueryOptions(e)})}async queryObjectIds(t,e){return await this.load(),this.queryTask.executeForIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryFeatureCount(t,e){return await this.load(),this.queryTask.executeForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryExtent(t,e){return await this.load(),this.queryTask.executeForExtent(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeatures(t,e){return await this.load(),this.queryTask.executeRelationshipQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeaturesCount(t,e){return await this.load(),this.queryTask.executeRelationshipQueryForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryPivot(t,e){return await this.load(),this.queryTask.executePivotQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopFeatures(t,e){return await this.load(),this.queryTask.executeTopFeaturesQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryAttributeBins(t,e){return await this.load(),this.queryTask.executeAttributeBinsQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopObjectIds(t,e){return await this.load(),this.queryTask.executeForTopIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopExtents(t,e){return await this.load(),this.queryTask.executeForTopExtents(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopCount(t,e){return await this.load(),this.queryTask.executeForTopCount(t,{...e,query:this._createRequestQueryOptions(e)})}async fetchPublishingStatus(){if(!(0,J.Wo)(this.layer.url))return"unavailable";const t=(0,f.fj)(this.layer.url,"status"),e=await(0,i.A)(t,{query:{f:"json"}});return W.fromJSON(e.data.status)}async uploadAssets(t,e){const{uploadAssets:s}=await r.e(1384).then(r.bind(r,31384));return s(t,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},e)}_handleLastEditsEventChange(t){const e=this.layer;if(null==t||!("capabilities"in e)||!("effectiveCapabilities"in e))return;if(e.capabilities?.operations?.supportsEditing||!e.effectiveCapabilities?.operations?.supportsEditing)return;let r=e.url;null!=r&&("layerId"in e&&(r=(0,f.fj)(r,e.layerId.toString())),this._getOrCreateEditInterceptor(r).before=e=>{const r=e.requestOptions.method??"auto";if("auto"===r||"head"===r){const r=e.requestOptions.query??{};r._ts=t.getTime(),e.requestOptions.query=r}})}_getOrCreateEditInterceptor(t){return null==this._editInterceptor&&(this._editInterceptor={urls:t},n.A.request.internalInterceptors.push(this._editInterceptor)),this._editInterceptor}_removeEditInterceptor(){null!=this._editInterceptor&&((0,a.TF)(n.A.request.internalInterceptors,this._editInterceptor),this._editInterceptor=null)}async _asyncApplyEdits(t,e){const r=(await(0,i.A)(t,e)).data.statusUrl;for(;;){const t=(await(0,i.A)(r,{query:{f:"json"},responseType:"json"})).data;switch(t.status){case"Completed":return(0,i.A)(t.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new o.A("async-applyEdits-failed","asynchronous applyEdits call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new o.A("async-applyEdits-failed","asynchronous applyEdits call failed (undefined response status)")}await(0,h.Pl)(H)}}_createRequestQueryOptions(t){const e={...this.layer.customParameters,token:this.layer.apiKey,...t?.query};return this.layer.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),e}async _fetchService(t,e){if(!t){const r={};(0,u.A)("featurelayer-advanced-symbols")&&(r.returnAdvancedSymbols=!0),e?.cacheBust&&(r._ts=Date.now());const{data:s}=await(0,i.A)(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:r,signal:e?.signal}));t=s}this.layer.applyPreferredHost(t),this.sourceJSON=await this._patchServiceJSON(t,e?.signal);const r=t.type;if(!this.supportedSourceTypes.has(r))throw new o.A("feature-layer-source:unsupported-type",`Source type "${r}" is not supported`)}async _patchServiceJSON(t,e){if("Table"!==t.type&&t.geometryType&&!t?.drawingInfo?.renderer&&!t.defaultSymbol){const e=(0,Z.F0)(t.geometryType).renderer;(0,d.sM)("drawingInfo.renderer",e,t)}if("esriGeometryMultiPatch"===t.geometryType&&t.infoFor3D&&(t.geometryType="mesh"),null==t.extent)try{const{data:r}=await(0,i.A)(this.layer.url,this._getLayerRequestOptions({signal:e}));r.spatialReference&&(t.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:r.spatialReference})}catch(t){(0,h.QP)(t)}return t}async _ensureLatestMetadata(t){if(this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0)return this._fetchService(null,{...t,cacheBust:!0})}async _uploadMeshesAndGetAssetMapEditsJSON(t){const{addAssetFeatures:e}=t;if(!e?.length)return null;if(await this._areAllAssetsAlreadyMapped(e))return null;const s=t.addFeatures.filter(t=>t.geometry);if(e.length!==s.length+t.updateFeatures.length)throw new o.A("feature-layer-source:unsupported-mesh-edits","Mixing attribute only edits with mesh geometry edits is not currently supported");const n=new Array,i=new Map;for(const t of e){const{geometry:e}=t,{vertexSpace:s}=e;if((0,v.Hq)(s))n.push(e);else{const s=e.origin,{convertMeshVertexSpace:a}=await Promise.all([r.e(6860),r.e(4508)]).then(r.bind(r,28846)),o=await a(e,new A.A({origin:[s.x,s.y,s.z??0]}));i.set(o,e),t.geometry=o,n.push(o)}}await this.uploadAssets(n);for(const[t,e]of i)e.addExternalSources(t.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(e),updates:[],deletes:[]}}_getAssetMapEditsJSON(t){const e=new Array,r=this.layer.globalIdField,s=this.layer.parsedUrl;for(const n of t){const t=n.geometry,{metadata:i}=t,a=i.getExternalSourcesOnService(s),o=n.getAttribute(r);if(0===a.length){p.A.getLogger(this).error(`Skipping feature ${o}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}const{source:u}=a.find(_.dK)??a[0];for(const t of u.assets)1===t.parts.length?e.push({globalId:(0,m.yS)(),parentGlobalId:o,assetName:t.assetName,assetHash:t.parts[0].partHash,flags:[]}):p.A.getLogger(this).error(`Skipping asset ${t.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return e}_createEditsResult(t){const e=t.data,{layerId:r}=this.layer,s=[];let n=null;if(Array.isArray(e))for(const t of e)s.push({id:t.id,editedFeatures:t.editedFeatures}),t.id===r&&(n={addResults:t.addResults??[],updateResults:t.updateResults??[],deleteResults:t.deleteResults??[],attachments:t.attachments,editMoment:t.editMoment});else n=e;const i=function(t){const e=t?.assetMaps;if(e){for(const t of e.addResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`);for(const t of e.updateResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`)}const r=t?.attachments,s={addFeatureResults:t?.addResults?.map(D)??[],updateFeatureResults:t?.updateResults?.map(D)??[],deleteFeatureResults:t?.deleteResults?.map(D)??[],addAttachmentResults:r?.addResults?r.addResults.map(D):[],updateAttachmentResults:r?.updateResults?r.updateResults.map(D):[],deleteAttachmentResults:r?.deleteResults?r.deleteResults.map(D):[]};return t?.editMoment&&(s.editMoment=t.editMoment),s}(n);if(s.length>0){i.editedFeatureResults=[];for(const t of s){const{editedFeatures:e}=t,r=e?.spatialReference?new S.A(e.spatialReference):null;i.editedFeatureResults.push({layerId:t.id,editedFeatures:V(e,r)})}}return i}_createAttachmentErrorResult(t,e){const r=e.details.messages?.[0]||e.message,s=e.details.httpStatus||e.details.messageCode;return{objectId:t,globalId:null,error:new o.A("feature-layer-source:attachment-failure",r,{code:s})}}_getFormDataForAttachment(t,e){const r=t instanceof FormData?t:t&&t.elements?new FormData(t):null;if(r)for(const t in e){const s=e[t];null!=s&&(r.set?r.set(t,s):r.append(t,s))}return r}_getLayerRequestOptions(t={}){const{layer:e,layer:{parsedUrl:r,gdbVersion:s}}=this;return{...t,query:{gdbVersion:s,layer:"dynamicDataSource"in e&&e.dynamicDataSource?JSON.stringify({source:e.dynamicDataSource}):void 0,...r.query,f:"json",...this._createRequestQueryOptions(t)},responseType:"json"}}async _areAllAssetsAlreadyMapped(t){const{layer:e}=this,{globalIdField:r,parsedUrl:s}=e,n="infoFor3D"in e?e.infoFor3D:null;if(null==n||null==r)return!1;const i=(0,G.JZ)(n);if(null==i)return!1;const o=(0,f.fj)(s.path,`../${i.id}`),u=new Array;for(const e of t){if(!(e.geometry.metadata.getExternalSourcesOnService(s).length>0))return!1;u.push(e)}const l=u.map(t=>t.getAttribute(r)).filter(a.Ru);if(0===l.length)return!1;const{assetMapFieldRoles:{parentGlobalId:c,assetHash:p}}=n,d=new z.A({where:`${c} IN (${l.map(t=>`'${t}'`)})`,outFields:[p,c],returnGeometry:!1}),h=await(0,k.s)(o,d),{features:y}=h;return 0!==y.length&&!u.some(t=>{const e=t.getAttribute(r);if(!e)return!0;const{metadata:n}=t.geometry,i=y.filter(t=>t.getAttribute(c)===e);if(0===i.length)return!0;const a=i.map(t=>t.getAttribute(p));return n.getExternalSourcesOnService(s).flatMap(({source:t})=>t.assets.flatMap(t=>t.parts.map(t=>t.partHash))).some(t=>a.every(e=>t!==e))})}};(0,s.Cg)([(0,g.MZ)()],Y.prototype,"type",void 0),(0,s.Cg)([(0,g.MZ)({constructOnly:!0})],Y.prototype,"layer",void 0),(0,s.Cg)([(0,g.MZ)({constructOnly:!0})],Y.prototype,"supportedSourceTypes",void 0),(0,s.Cg)([(0,g.MZ)({readOnly:!0})],Y.prototype,"queryTask",null),Y=(0,s.Cg)([(0,g.$K)("esri.layers.graphics.sources.FeatureLayerSource")],Y);const H=1e3},64314(t,e,r){r.d(e,{A:()=>M});var s=r(5482),n=r(69622),i=r(49186),a=r(44208),o=r(17676),u=r(84952),l=r(91429),c=r(21325),p=r(20557),d=r(2272),h=r(65615),y=r(20615),f=r(74910),m=r(78286),g=r(99199),b=r(62815),S=r(63746);class A{constructor(t){this._options=t,this.featureSet={features:[]},this.parseOnly=null,this._transformInPlace=null,this._transformInPlaceXY=null,this._finishVertex=A._finishVertexNonPoint,this._attributesClass=null,this._previousX=0,this._previousY=0,this._point=null,this._lengths=null,this._vertex=[],this._part=null,this._parts=null,this._i=0}queryGeometryType(){return this.featureSet.queryGeometryType}queryGeometry(){return this.featureSet.queryGeometry}idField(t){"string"==typeof t&&(this.featureSet.objectIdFieldName=t)}finish(){this._options.applyTransform&&(this.featureSet.transform=null);const{spatialReference:t,features:e}=this.featureSet;if(t)for(const{geometry:r}of e)r&&(r.spatialReference=t)}feature(){this._attributesClass??=(0,S._)(this.featureSet.fields?.map(t=>t.name)??[]),this.featureSet.features.push({attributes:new this._attributesClass}),this._options.applyTransform&&this._setVertexTransformer()}centroid([t,e]){this.featureSet.features.at(-1).centroid={x:t,y:e}}geometry(t,e,r){this._previousX=this._previousY=0,this._lengths=r;let s,{hasZ:n,hasM:i}=this.featureSet;switch(n??=!1,i??=!1,this._i=0,this._vertex=[0,0],n&&this._vertex.push(0),i&&this._vertex.push(0),this._finishVertex=A._finishVertexNonPoint,e){case"esriGeometryPoint":this._point={x:0,y:0},s=this._point,this._finishVertex=n?i?A._finishVertexPointXYZM:A._finishVertexPointXYZ:i?A._finishVertexPointXYM:A._finishVertexPointXY;break;case"esriGeometryMultipoint":s={points:[],hasZ:n,hasM:i},this._part=s.points,this._parts=[];break;case"esriGeometryPolyline":s={paths:[],hasZ:n,hasM:i},this._parts=s.paths,this._part=[];break;case"esriGeometryPolygon":s={rings:[],hasZ:n,hasM:i},this._parts=s.rings,this._part=[]}1===t?(this.featureSet.queryGeometry=s,this.featureSet.queryGeometryType=e,this._options.applyTransform||this._setVertexTransformer()):this.featureSet.features.at(-1).geometry=s}coord(t){const e=this._vertex;e[this._i++]=t,this._i<e.length||(this._i=0,this._transformInPlace&&(e[0]+=this._previousX,e[1]+=this._previousY,[this._previousX,this._previousY]=e,this._transformInPlace(e)),this._finishVertex(this))}curvedGeometry(t,e,r,s){let n,{hasZ:i,hasM:a}=this.featureSet;switch(i??=!1,a??=!1,t){case"esriGeometryPoint":case"esriGeometryMultipoint":throw new Error(`Curved ${t} does not make sense`);case"esriGeometryPolyline":n={paths:[],curvePaths:[],hasZ:i,hasM:a},this._parts=n.curvePaths,this._part=[];break;case"esriGeometryPolygon":n={rings:[],curveRings:[],hasZ:i,hasM:a},this._parts=n.curveRings,this._part=[]}this.featureSet.features.at(-1).geometry=n}startCurvedPart(t){this._part.push(this._transform(t))}finishCurvedPart(t){this._parts.push(this._part),this._part=[]}lineSegment(t,e){this._part.push(this._transform(e))}bezierSegment(t,e,r,s){this._part.push({b:[this._transform(e),this._transformXY(r),this._transformXY(s)]})}circularArcSegment(t,e,r){this._part.push({c:[this._transform(e),this._transformXY(r)]})}ellipticArcSegment(t,e,r,s,n,i,a,o){this._part.push({a:[this._transform(e),this._transformXY(r),s,n,i,a,o]})}static _finishVertexPointXY({_point:t,_vertex:e}){[t.x,t.y]=e}static _finishVertexPointXYZ({_point:t,_vertex:e}){[t.x,t.y,t.z]=e}static _finishVertexPointXYM({_point:t,_vertex:e}){[t.x,t.y,t.m]=e}static _finishVertexPointXYZM({_point:t,_vertex:e}){[t.x,t.y,t.z,t.m]=e}static _finishVertexNonPoint(t){const{_part:e,_parts:r,_lengths:s,_vertex:n}=t;e.push([...n]),e.length<s[r.length]||(t._previousX=t._previousY=0,t._part=[],r.push(e))}_setVertexTransformer(){const{sourceSpatialReference:t}=this._options,{spatialReference:e,hasZ:r,transform:s}=this.featureSet,n=r?(0,b.d)(t,e):1;this._transformInPlace??=(0,S.M)(this.featureSet,n),this._transformInPlaceXY??=(0,S.M)({transform:s})}_transform(t){const e=[...t];return this._transformInPlace?.(e),e}_transformXY(t){const e=[t[0],t[1]];return this._transformInPlaceXY?.(e),e}}var v=r(80893),_=r(22671),x=r(97552);async function w(t,e,r,s){const n=(0,d.Dl)(t),i={...r},a=x.A.from(e),o=!a.quantizationParameters;return await(0,v.IJ)(n,a,new A({sourceSpatialReference:a.sourceSpatialReference,applyTransform:o}),i,s)}let M=class extends n.A{constructor(t){super(t),this.dynamicDataSource=null,this.fieldsIndex=null,this.gdbVersion=null,this.infoFor3D=null,this.pbfSupported=!1,this.pbfSupportedWithCurves=!1,this.queryAttachmentsSupported=!1,this.relativeTimeBinWindow=0,this.sourceSpatialReference=null,this.uniqueIdFields=null,this.url=null}get parsedUrl(){return(0,u.An)(this.url)}async execute(t,e){const r=await this.executeJSON(t,e);return this.featureSetFromJSON(t,r,e)}async executeJSON(t,e){const r=this._normalizeQuery(t),s=null!=t.outStatistics?.[0],n=(0,a.A)("featurelayer-pbf-statistics");let i;if(this.pbfSupported&&(!s||n)&&(!t.returnTrueCurves||this.pbfSupportedWithCurves))try{i=await w(this.url,r,e,{uniqueIdFields:this.uniqueIdFields})}catch(t){if("query:parsing-pbf"!==t.name)throw t;this.pbfSupported=!1}return i??=await(0,g.e)(this.url,r,e,{uniqueIdFields:this.uniqueIdFields}),this._normalizeFields(i.fields),i}async featureSetFromJSON(t,e,s){if(!this._queryGet3DObjectFormat(t)||null==this.infoFor3D||!e.features)return _.A.fromJSON(e);const{meshFeatureSetFromJSON:n}=await(0,o.qr)(Promise.all([r.e(6860),r.e(118),r.e(8366)]).then(r.bind(r,40050)),s);return n(t,this.infoFor3D,e)}executeForCount(t,e){return(0,y.I)(this.url,this._normalizeQuery(t),e,{uniqueIdFields:this.uniqueIdFields})}executeForExtent(t,e){return(0,f.L)(this.url,this._normalizeQuery(t),e)}executeForIds(t,e){return(0,m.V)(this.url,this._normalizeQuery(t),e,{uniqueIdFields:this.uniqueIdFields})}async executeRelationshipQuery(t,e){const[{default:s},{executeRelationshipQuery:n}]=await(0,o.qr)(Promise.all([Promise.resolve().then(r.bind(r,26591)),r.e(1763).then(r.bind(r,71763))]),e);let i=s.from(t);return(this.gdbVersion||this.dynamicDataSource)&&(i=i.clone(),i.gdbVersion=i.gdbVersion||this.gdbVersion,i.dynamicDataSource=i.dynamicDataSource||this.dynamicDataSource),n(this.url,i,e)}async executeRelationshipQueryForCount(t,e){const[{default:s},{executeRelationshipQueryForCount:n}]=await(0,o.qr)(Promise.all([Promise.resolve().then(r.bind(r,26591)),r.e(1763).then(r.bind(r,71763))]),e);let i=s.from(t);return(this.gdbVersion||this.dynamicDataSource)&&(i=i.clone(),i.gdbVersion=i.gdbVersion||this.gdbVersion,i.dynamicDataSource=i.dynamicDataSource||this.dynamicDataSource),n(this.url,i,e)}async executeAttachmentQuery(t,e){const{executeAttachmentQuery:s,fetchAttachments:n,processAttachmentQueryResult:i}=await(0,o.qr)(r.e(9239).then(r.bind(r,9239)),e),a=(0,d.Dl)(this.url);return i(a,await(this.queryAttachmentsSupported?s(a,t,e):n(a,t,e)))}async executeAttributeBinsQuery(t,e){const{executeAttributeBinsQuery:s}=await(0,o.qr)(r.e(3103).then(r.bind(r,33103)),e);return s(this.parsedUrl,t,e)}async executePivotQuery(t,e){const{executePivotQuery:s}=await(0,o.qr)(r.e(566).then(r.bind(r,80566)),e);return s(this.parsedUrl,t,e)}async executeTopFeaturesQuery(t,e){const{executeTopFeaturesQuery:s}=await(0,o.qr)(r.e(1273).then(r.bind(r,11273)),e);return s(this.parsedUrl,t,this.sourceSpatialReference,e)}async executeForTopIds(t,e){const{executeForTopIds:s}=await(0,o.qr)(r.e(1277).then(r.bind(r,21277)),e);return s(this.parsedUrl,t,e)}async executeForTopExtents(t,e){const{executeForTopExtents:s}=await(0,o.qr)(r.e(8018).then(r.bind(r,8018)),e);return s(this.parsedUrl,t,e)}async executeForTopCount(t,e){const{executeForTopCount:s}=await(0,o.qr)(r.e(980).then(r.bind(r,10980)),e);return s(this.parsedUrl,t,e)}_normalizeQuery(t){let e=x.A.from(t);e.sourceSpatialReference=e.sourceSpatialReference||this.sourceSpatialReference,(this.gdbVersion||this.dynamicDataSource)&&(e=e===t?e.clone():e,e.gdbVersion=t.gdbVersion||this.gdbVersion,e.dynamicDataSource=t.dynamicDataSource?h.A.from(t.dynamicDataSource):this.dynamicDataSource);const{infoFor3D:r}=this,s=this._queryGet3DObjectFormat(t);if(null!=r&&s){if(e=e===t?e.clone():e,e.formatOf3DObjects=s,e.outSpatialReference&&!(0,c.aI)(e.outSpatialReference,this.sourceSpatialReference))throw new i.A("query:unsupported-out-spatial-reference","3D object feature services do not support projection of geometries");if(null==e.outFields||!e.outFields.includes("*")){e=e===t?e.clone():e,null==e.outFields&&(e.outFields=[]);const{originX:s,originY:n,originZ:i,translationX:a,translationY:o,translationZ:u,scaleX:l,scaleY:c,scaleZ:p,rotationX:d,rotationY:h,rotationZ:y,rotationDeg:f}=r.transformFieldRoles;e.outFields.push(s,n,i,a,o,u,l,c,p,d,h,y,f)}}return e}_normalizeFields(t){if(null!=this.fieldsIndex&&null!=t)for(const e of t){const t=this.fieldsIndex.get(e.name);t&&Object.assign(e,t.toJSON())}}_queryGet3DObjectFormat({returnGeometry:t,multipatchOption:e,outStatistics:r}){return!0!==t||"xyFootprint"===e||r?null:(0,p.Hz)(this.infoFor3D)}};(0,s.Cg)([(0,l.MZ)({type:h.A})],M.prototype,"dynamicDataSource",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"fieldsIndex",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"gdbVersion",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"infoFor3D",void 0),(0,s.Cg)([(0,l.MZ)({readOnly:!0})],M.prototype,"parsedUrl",null),(0,s.Cg)([(0,l.MZ)()],M.prototype,"pbfSupported",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"pbfSupportedWithCurves",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"queryAttachmentsSupported",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"relativeTimeBinWindow",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"sourceSpatialReference",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"uniqueIdFields",void 0),(0,s.Cg)([(0,l.MZ)({type:String})],M.prototype,"url",void 0),M=(0,s.Cg)([(0,l.$K)("esri.layers.graphics.sources.support.QueryTask")],M)},64714(t,e,r){r.d(e,{F0:()=>o,Vx:()=>c,e2:()=>d,f:()=>h});var s=r(44208),n=r(4718),i=r(99352),a=r(93470);function o(t){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===t||"esriGeometryMultipoint"===t?a.Cb:"esriGeometryPolyline"===t?a.yM:a.WR}}}const u=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let l=1;function c(t,e){if((0,s.A)("esri-csp-restrictions"))return()=>e?{[e]:null,...t}:{...t};try{let r="";e&&(r+=`this${p(e)} = null;`);for(const e in t)r+=`this${p(e)} = ${JSON.stringify(t[e])};`;const s=new Function(`\n return class AttributesClass$${l++} {\n constructor() {\n ${r};\n }\n }\n `)();return()=>new s}catch(r){return()=>e?{[e]:null,...t}:{...t}}}function p(t){return u.test(t)?`.${t}`:`[${JSON.stringify(t)}]`}function d(t={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,n.o8)(t)}}]}function h(t,e){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:t},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:e,supportsDelete:e,supportsEditing:e,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:e,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:i.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:i.P,editing:{supportsGeometryUpdate:e,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:e,supportsTrueCurveUpdateByTrueCurveClientsOnly:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},20615(t,e,r){r.d(e,{I:()=>a});var s=r(2272),n=r(80893),i=r(97552);function a(t,e,r,a){return(0,n.gW)((0,s.Dl)(t),i.A.from(e),r,a)}},74910(t,e,r){r.d(e,{L:()=>o});var s=r(5443),n=r(2272),i=r(80893),a=r(97552);async function o(t,e,r){const o=(0,n.Dl)(t),u=await(0,i.Jf)(o,a.A.from(e),{...r}),l=u.extent;return!l||isNaN(l.xmin)||isNaN(l.ymin)||isNaN(l.xmax)||isNaN(l.ymax)?{count:u.count,extent:null}:{count:u.count,extent:s.A.fromJSON(l)}}},78286(t,e,r){r.d(e,{V:()=>a});var s=r(2272),n=r(80893),i=r(97552);async function a(t,e,r,a){const o=(0,s.Dl)(t),u=await(0,n.Pk)(o,i.A.from(e),r,a);return u.objectIds??function(t){if(t)return function(t){return!Array.isArray(t[0])}(t)?t:t.map(t=>JSON.stringify(t))}(u.uniqueIds)??[]}},99199(t,e,r){r.d(e,{e:()=>u,s:()=>o});var s=r(2272),n=r(80893),i=r(22671),a=r(97552);async function o(t,e,r,s){const n=await u(t,e,r,s);return i.A.fromJSON(n)}function u(t,e,r,i){const o=(0,s.Dl)(t),u={...r},l=a.A.from(e);return(0,n.eW)(o,l,l.sourceSpatialReference,u,i)}},63746(t,e,r){function s(t){return class{constructor(){for(const e of t)this[e]=null}}}function n(t,e=1){const{transform:r,hasZ:s,hasM:n}=t;if(null==r)return s&&1!==e?t=>{t[2]*=e}:null;const[i,a]=function(t,e,r,s){let{scale:n,translate:i,originPosition:a}=t;return"upperLeft"===a&&(n=n.map((t,e)=>1===e?-t:t)),e&&(n=n.map((t,e)=>2===e?t*s:t),i=i.map((t,e)=>2===e?t*s:t)),!e&&r&&(n=n.filter((t,e)=>2!==e),i=i.filter((t,e)=>2!==e)),[n,i]}(r,s,n,e),o=t.hasZ?3:2;return t=>{for(let e=0;e<t.length&&(e!==o||0!==t[e]);++e)t[e]=t[e]*i[e]+a[e]}}r.d(e,{M:()=>n,_:()=>s})},2272(t,e,r){r.d(e,{Dl:()=>l,gf:()=>p,jV:()=>u,lF:()=>c});var s=r(92602),n=r(70333),i=r(4718),a=r(84952),o=r(926);function u(t,e){return e?{...e,query:{...t,...e.query}}:{query:t}}function l(t){return"string"==typeof t?(0,a.An)(t):(0,i.o8)(t)}function c(t,e,r){const s={};for(const n in t){if("declaredClass"===n)continue;const i=t[n];if(null!=i&&"function"!=typeof i)if(Array.isArray(i))s[n]=i.map(t=>c(t));else if("object"==typeof i)if(i.toJSON){const t=i.toJSON(r?.[n]);s[n]=e?t:JSON.stringify(t)}else s[n]=e?i:JSON.stringify(i);else s[n]=i}return s}async function p(t,e,i){const a=function(t,e){return t?e&&(0,o.Qc)(t)?e:(0,o.getApiKey)(t)??n.id?.findCredential(t)?.token:null}(t,e);if(a)return a;!n.id&&s.A.request.useIdentity&&await Promise.all([r.e(7632),r.e(9687),r.e(148)]).then(r.bind(r,50148));const u=await n.id.getCredential(t,i);return u?.token}}}]);
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[7013],{69052(t,e,r){r.d(e,{hr:()=>n});var s=r(34727);class n{constructor(t,e){this.min=t,this.max=e,this.range=e-t}normalize(t,e=0,r=!1){return i(this.range,this.min,this.max,t,e,r)}clamp(t,e=0){return(0,s.qE)(t-e,this.min,this.max)+e}monotonic(t,e,r){return t<e?e:e+a(this.range,t-e,r)}minimalMonotonic(t,e,r){return i(this.range,t,t+this.range,e,r)}center(t,e,r){return e=this.monotonic(t,e,r),this.normalize((t+e)/2,r)}diff(t,e,r){return this.monotonic(t,e,r)-t}shortestSignedDiff(t,e){t=this.normalize(t);const r=(e=this.normalize(e))-t,s=e<t?this.minimalMonotonic(t,e)-t:e-this.minimalMonotonic(e,t);return Math.abs(r)<Math.abs(s)?r:s}contains(t,e,r){return e=this.minimalMonotonic(t,e),(r=this.minimalMonotonic(t,r))>t&&r<e}}function i(t,e,r,s,n=0,i=!1){return(s-=n)<e?s+=a(t,e-s):s>r&&(s-=a(t,s-r)),i&&s===r&&(s=e),s+n}function a(t,e,r=0){return Math.ceil((e-r)/t)*t+r}const o=new n(0,2*Math.PI),u=(new n(-Math.PI,Math.PI),new n(0,360));r.d(e,["ie",0,u,"uC",0,o])},82534(t,e,r){function s(){return[0,0,0,1]}function n(t){return[t[0],t[1],t[2],t[3]]}r.d(e,{o8:()=>n,vt:()=>s});const i=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:n,create:s,fromValues:function(t,e,r,s){return[t,e,r,s]}},Symbol.toStringTag,{value:"Module"})),r.d(e,["zK",0,i])},67026(t,e,r){r.d(e,{A6:()=>f,Xd:()=>c,Xr:()=>h,lw:()=>p,x8:()=>l});var s=r(29242),n=r(82534),i=r(51850),a=r(34304),o=r(35522),u=r(78955);function l(t,e,r){r*=.5;const s=Math.sin(r);return t[0]=s*e[0],t[1]=s*e[1],t[2]=s*e[2],t[3]=Math.cos(r),t}function c(t,e){const r=2*Math.acos(e[3]),s=Math.sin(r/2);return s>(0,a.FD)()?(t[0]=e[0]/s,t[1]=e[1]/s,t[2]=e[2]/s):(t[0]=1,t[1]=0,t[2]=0),r}function p(t,e,r){const s=e[0],n=e[1],i=e[2],a=e[3],o=r[0],u=r[1],l=r[2],c=r[3];return t[0]=s*c+a*o+n*l-i*u,t[1]=n*c+a*u+i*o-s*l,t[2]=i*c+a*l+s*u-n*o,t[3]=a*c-s*o-n*u-i*l,t}function d(t,e,r,s){const n=e[0],i=e[1],o=e[2],u=e[3];let l,c,p,d,h,y=r[0],f=r[1],m=r[2],g=r[3];return c=n*y+i*f+o*m+u*g,c<0&&(c=-c,y=-y,f=-f,m=-m,g=-g),1-c>(0,a.FD)()?(l=Math.acos(c),p=Math.sin(l),d=Math.sin((1-s)*l)/p,h=Math.sin(s*l)/p):(d=1-s,h=s),t[0]=d*n+h*y,t[1]=d*i+h*f,t[2]=d*o+h*m,t[3]=d*u+h*g,t}function h(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t}function y(t,e){const r=e[0]+e[4]+e[8];let s;if(r>0)s=Math.sqrt(r+1),t[3]=.5*s,s=.5/s,t[0]=(e[5]-e[7])*s,t[1]=(e[6]-e[2])*s,t[2]=(e[1]-e[3])*s;else{let r=0;e[4]>e[0]&&(r=1),e[8]>e[3*r+r]&&(r=2);const n=(r+1)%3,i=(r+2)%3;s=Math.sqrt(e[3*r+r]-e[3*n+n]-e[3*i+i]+1),t[r]=.5*s,s=.5/s,t[3]=(e[3*n+i]-e[3*i+n])*s,t[n]=(e[3*n+r]+e[3*r+n])*s,t[i]=(e[3*i+r]+e[3*r+i])*s}return t}function f(t,e,r,s){const n=.5*Math.PI/180;e*=n,r*=n,s*=n;const i=Math.sin(e),a=Math.cos(e),o=Math.sin(r),u=Math.cos(r),l=Math.sin(s),c=Math.cos(s);return t[0]=i*u*c-a*o*l,t[1]=a*o*c+i*u*l,t[2]=a*u*l-i*o*c,t[3]=a*u*c+i*o*l,t}const m=u.C,g=u.hZ,b=u.WQ,S=p,A=u.hs,v=u.Om,_=u.Cc,x=u.Bw,w=x,M=u.m3,q=M,I=u.S8,F=u.t2,R=u.aI,O=(0,i.vt)(),C=(0,i.fA)(1,0,0),T=(0,i.fA)(0,1,0),P=(0,n.vt)(),E=(0,n.vt)(),N=(0,s.vt)();Object.freeze(Object.defineProperty({__proto__:null,add:b,calculateW:function(t,e){const r=e[0],s=e[1],n=e[2];return t[0]=r,t[1]=s,t[2]=n,t[3]=Math.sqrt(Math.abs(1-r*r-s*s-n*n)),t},conjugate:h,copy:m,dot:v,equals:R,exactEquals:F,fromEuler:f,fromMat3:y,getAxisAngle:c,identity:function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},invert:function(t,e){const r=e[0],s=e[1],n=e[2],i=e[3],a=r*r+s*s+n*n+i*i,o=a?1/a:0;return t[0]=-r*o,t[1]=-s*o,t[2]=-n*o,t[3]=i*o,t},len:w,length:x,lerp:_,mul:S,multiply:p,normalize:I,random:function(t){const e=a.Ov,r=e(),s=e(),n=e(),i=Math.sqrt(1-r),o=Math.sqrt(r);return t[0]=i*Math.sin(2*Math.PI*s),t[1]=i*Math.cos(2*Math.PI*s),t[2]=o*Math.sin(2*Math.PI*n),t[3]=o*Math.cos(2*Math.PI*n),t},rotateX:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u+a*o,t[1]=n*u+i*o,t[2]=i*u-n*o,t[3]=a*u-s*o,t},rotateY:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u-i*o,t[1]=n*u+a*o,t[2]=i*u+s*o,t[3]=a*u-n*o,t},rotateZ:function(t,e,r){r*=.5;const s=e[0],n=e[1],i=e[2],a=e[3],o=Math.sin(r),u=Math.cos(r);return t[0]=s*u+n*o,t[1]=n*u-s*o,t[2]=i*u+a*o,t[3]=a*u-i*o,t},rotationTo:function(t,e,r){const s=(0,o.Om)(e,r);return s<-.999999?((0,o.$A)(O,C,e),(0,o.Il)(O)<1e-6&&(0,o.$A)(O,T,e),(0,o.S8)(O,O),l(t,O,Math.PI),t):s>.999999?(t[0]=0,t[1]=0,t[2]=0,t[3]=1,t):((0,o.$A)(O,e,r),t[0]=O[0],t[1]=O[1],t[2]=O[2],t[3]=1+s,I(t,t))},scale:A,set:g,setAxes:function(t,e,r,s){const n=N;return n[0]=r[0],n[3]=r[1],n[6]=r[2],n[1]=s[0],n[4]=s[1],n[7]=s[2],n[2]=-e[0],n[5]=-e[1],n[8]=-e[2],I(t,y(t,n))},setAxisAngle:l,slerp:d,sqlerp:function(t,e,r,s,n,i){return d(P,e,n,i),d(E,r,s,i),d(t,P,E,2*i*(1-i)),t},sqrLen:q,squaredLength:M,str:function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"}},Symbol.toStringTag,{value:"Module"})),r.d(e,["hZ",0,g,"t2",0,F])},93146(t,e,r){r.d(e,{z:()=>n});class s{constructor(t){this._import=t,this.module=null,this._promise=null}getImportPromise(){return null==this._promise&&(this._promise=this._import().then(async t=>(this.module=t,t))),this._promise}}function n(t){return new s(async()=>{const e=await t();return!1===e.isLoaded?.()&&await e.load(),e})}},95696(t,e,r){r.d(e,{A:()=>l});var s,n=r(5482),i=r(69540),a=r(25482),o=r(91429),u=r(93223);let l=class extends((0,i.OU)(a.o)){static{s=this}constructor(t){super(t),this.type="georeferenced",this.origin=null}static{this.absolute=new s}};(0,n.Cg)([(0,u.e)({georeferenced:"georeferenced"},{readOnly:!0})],l.prototype,"type",void 0),(0,n.Cg)([(0,o.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],l.prototype,"origin",void 0),l=s=(0,n.Cg)([(0,o.$K)("esri.geometry.support.MeshGeoreferencedVertexSpace")],l)},18251(t,e,r){r.d(e,{A:()=>l});var s=r(5482),n=r(69540),i=r(25482),a=r(91429),o=r(51850),u=r(93223);let l=class extends((0,n.OU)(i.o)){constructor(t){super(t),this.type="local",this.origin=(0,o.vt)()}};(0,s.Cg)([(0,u.e)({local:"local"},{readOnly:!0})],l.prototype,"type",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],l.prototype,"origin",void 0),l=(0,s.Cg)([(0,a.$K)("esri.geometry.support.MeshLocalVertexSpace")],l)},73836(t,e,r){r.d(e,{A:()=>h});var s=r(5482),n=r(69540),i=r(25482),a=r(91429),o=r(58083),u=r(9093),l=r(67026),c=r(82534),p=r(51850),d=r(24770);let h=class extends((0,n.OU)(i.o)){constructor(t){super(t),this.translation=(0,p.vt)(),this.rotationAxis=(0,p.ci)(d.up),this.rotationAngle=0,this.scale=(0,p.fA)(1,1,1)}get rotation(){return(0,d.i4)(this.rotationAxis,this.rotationAngle)}set rotation(t){this.rotationAxis=(0,p.o8)((0,d.yo)(t)),this.rotationAngle=(0,d.g7)(t)}get localMatrix(){const t=(0,u.vt)();return(0,l.x8)(y,(0,d.yo)(this.rotation),(0,d.$I)(this.rotation)),(0,o.o1)(t,y,this.translation,this.scale),t}get localMatrixInverse(){return(0,o.B8)((0,u.vt)(),this.localMatrix)}equals(t){return this===t||null!=t&&(0,o.t2)(this.localMatrix,t.localMatrix)}};(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"translation",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"rotationAxis",void 0),(0,s.Cg)([(0,a.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],h.prototype,"rotationAngle",void 0),(0,s.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],h.prototype,"scale",void 0),(0,s.Cg)([(0,a.MZ)()],h.prototype,"rotation",null),(0,s.Cg)([(0,a.MZ)()],h.prototype,"localMatrix",null),(0,s.Cg)([(0,a.MZ)()],h.prototype,"localMatrixInverse",null),h=(0,s.Cg)([(0,a.$K)("esri.geometry.support.MeshTransform")],h);const y=(0,c.vt)()},24770(t,e,r){r.d(e,{$I:()=>m,AU:()=>h,g7:()=>f,i4:()=>c,ui:()=>p,vt:()=>l,yo:()=>y});var s=r(34727),n=r(58083),i=r(67026),a=r(82534),o=r(35522),u=r(51850);function l(t=b){return[t[0],t[1],t[2],t[3]]}function c(t,e,r=l()){return(0,o.C)(r,t),r[3]=e,r}function p(t,e=l()){const r=(0,n.l)(S,t);return g(e,(0,s.KJ)((0,i.Xd)(e,r))),e}function d(t,e,r=l()){return(0,i.x8)(S,t,m(t)),(0,i.x8)(A,e,m(e)),(0,i.lw)(S,A,S),g(r,(0,s.KJ)((0,i.Xd)(r,S)))}function h(t,e,r,s=l()){return c(u.Cw,t,v),c(u.JP,e,_),c(u.Cb,r,x),d(v,_,v),d(v,x,s),s}function y(t){return t}function f(t){return t[3]}function m(t){return(0,s.kU)(t[3])}function g(t,e){return t[3]=e,t}const b=[0,0,1,0],S=(0,a.vt)(),A=(0,a.vt)(),v=(l(),l()),_=l(),x=l();r.d(e,["up",0,b])},63579(t,e,r){r.d(e,{Bq:()=>u,Qp:()=>o,WN:()=>m,dK:()=>g,eN:()=>h,fH:()=>f,in:()=>y,yr:()=>l});var s=r(11254),n=r(4576),i=r(17676),a=r(20557);class o{constructor(t,e,r){this.assetName=t,this.assetMimeType=e,this.parts=r}equals(t){return this===t||this.assetName===t.assetName&&this.assetMimeType===t.assetMimeType&&(0,n.aI)(this.parts,t.parts,(t,e)=>t.equals(e))}isOnService(t){return this.parts.every(e=>e.isOnService(t))}makeHash(){let t="";for(const e of this.parts)t+=e.partHash;return t}async toBlob(t){const{parts:e}=this;if(1===e.length)return e[0].toBlob(t);const r=await Promise.all(e.map(e=>e.toBlob(t)));return(0,i.Te)(t),new Blob(r)}}class u{constructor(t,e){this.partUrl=t,this.partHash=e}equals(t){return this===t||this.partUrl===t.partUrl&&this.partHash===t.partHash}isOnService(t){return this.partUrl.startsWith(`${t.path}/assets/`)}async toBlob(t){const{data:e}=await(0,s.A)(this.partUrl,{responseType:"blob"});return(0,i.Te)(t),e}}function l(t){return function(t){switch(t?.type){case"client":return Array.isArray(t.files)?t.files.some(d):d(t.files);case"service":return t.assets.some(d);case"loadable":return!0;default:return!1}}(t?.source)}const c=/^(model\/gltf\+json)|(model\/gltf-binary)$/,p=/\.(gltf|glb)/i;function d(t){if(t instanceof File){const{type:e,name:r}=t;return c.test(e)||p.test(r)}return c.test(t.assetMimeType)||p.test(t.assetName)}function h(t,e){if(!t)return!1;const{source:r}=t;return function(t,e){return"service"===t.type&&t.assets.every(t=>t.isOnService(e))}(r,e)}function y(t,e){if(t===e)return!0;const{source:r}=t,{source:s}=e;if(r===s)return!0;if("service"===r.type&&"service"===s.type){if(r.assets.length!==s.assets.length)return!1;const t=(t,e)=>t.assetName<e.assetName?-1:t.assetName>e.assetName?1:0,e=[...r.assets].sort(t),n=[...s.assets].sort(t);for(let t=0;t<e.length;++t)if(!e[t].equals(n[t]))return!1;return!0}return!1}function f(t,e){return t instanceof File?(0,a.rq)(t,e):(0,a.z$)(t.assetMimeType,t.assetName,e)}function m(t){switch(t.type){case"client":return Array.isArray(t.files)?t.files:[t.files];case"service":return t.assets;case"loadable":return}}function g(t){return!!t.original}},27615(t,e,r){r.d(e,{CK:()=>u,Hq:()=>o,MW:()=>l,TE:()=>c,yJ:()=>p});var s=r(35522),n=r(86738),i=r(95696),a=r(18251);function o(t){return null!=t.origin}function u(t){return o(t.vertexSpace)}function l(t,e){if(!o(t))return null;const[r,s,i]=t.origin;return new n.A({x:r,y:s,z:i,spatialReference:e})}function c(t,e){const{x:r,y:s,z:n,spatialReference:o}=t,u=[r,s,n??0];return"local"===(e?.vertexSpace??function(t){return t.isGeographic||t.isWebMercator?"local":"georeferenced"}(o))?new a.A({origin:u}):new i.A({origin:u})}function p(t,e){return t.type===e.type&&(t.origin===e.origin||null!=t.origin&&null!=e.origin&&(0,s.t2)(t.origin,e.origin))}},52039(t,e,r){r.d(e,{O7:()=>p,el:()=>u});var s=r(69052),n=(r(49186),r(17676)),i=(r(5443),r(39829),r(82799),r(16930)),a=r(93146),o=(r(80754),r(21325));async function u(t,e,r){Array.isArray(t)||(t=[t]),null!=e&&"object"==typeof e&&"authMode"in e&&(r=e);let s=null;for(const e of t)s??=e?.spatialReference;if(!s)return t;const i=(0,o.Vp)(s);if(!i)return t;const[a,u]=i.valid;let p=!1;for(const e of t){if(!e)continue;if("point"===e.type){p||=e.x>=u,p||=e.x<=a;continue}const{extent:t}=e;if(null==t){p=!0;break}p||=t.xmin>=u,p||=t.xmin<=a,p||=t.xmax>=u,p||=t.xmax<=a}if(!p)return t;const[{foldInto360Range:d},h]=await(0,n.qr)(Promise.all([l.getImportPromise(),c.getImportPromise()]),r),y=h.fromSpatialReference(s);return t.map(t=>{if(null==t||"mesh"===t.type)return t;const e=h.fromGeometry(t),r=h.toGeometry(d(e,y),s);return"extent"===t.type&&1===r?.rings.length?r.extent:r})}const l=(0,a.z)(()=>r.e(4144).then(r.bind(r,4144))),c=(0,a.z)(()=>Promise.all([r.e(9187),r.e(8885),r.e(9117),r.e(3299),r.e(1550)]).then(r.bind(r,78125)));function p(t,e,r){const s=(0,o.Vp)(r);if(null==s)return t;const[n,i]=s.valid,a=2*i;let u=0,l=0;e>i?u=Math.ceil(Math.abs(e-i)/a):e<n&&(u=-Math.ceil(Math.abs(e-n)/a)),t>i?l=Math.ceil(Math.abs(t-i)/a):t<n&&(l=-Math.ceil(Math.abs(t-n)/a));let c=t+(u-l)*a;const p=c-e;return p>i?c-=a:p<n&&(c+=a),c}function d(t){const e=(0,o.Vp)(t);if(null==e)return null;const[r,n]=e.valid;return new s.hr(r,n)}const h=d(i.A.WGS84);d(i.A.WebMercator),r.d(e,["Y_",0,h])},80754(t,e,r){r.d(e,{kS:()=>l,kd:()=>u});var s=r(82799),n=r(16930),i=r(60408),a=r(52006);const o={102100:{maxX:20037508.342788905,minX:-20037508.342788905,plus180Line:new s.A({paths:[[[20037508.342788905,-20037508.342788905],[20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator}),minus180Line:new s.A({paths:[[[-20037508.342788905,-20037508.342788905],[-20037508.342788905,20037508.342788905]]],spatialReference:n.A.WebMercator})},4326:{maxX:180,minX:-180,plus180Line:new s.A({paths:[[[180,-180],[180,180]]],spatialReference:n.A.WGS84}),minus180Line:new s.A({paths:[[[-180,-180],[-180,180]]],spatialReference:n.A.WGS84})}};function u(t,e){return Math.ceil((t-e)/(2*e))}function l(t,e){if((0,a.Ed)(t))for(const r of function(t){return(0,i.Bi)(t)?t.curveRings:t.curvePaths}(t))for(const t of r){if((0,a.aO)(t)){const[r,s]=t.c;r[0]+=e,s[0]+=e;continue}if((0,a.FG)(t)){const[r,s]=t.a;r[0]+=e,s[0]+=e;continue}if((0,a.n1)(t)){const[r,s,n]=t.b;r[0]+=e,s[0]+=e,n[0]+=e;continue}t[0]+=e}for(const r of function(t){return(0,i.Bi)(t)?t.rings:t.paths}(t))for(const t of r)t[0]+=e;return t}r.d(e,["j7",0,o])},99352(t,e,r){r.d(e,["F",0,{supportsStatistics:!0,supportsPercentileStatistics:!0,supportsSpatialAggregationStatistics:!0,supportedSpatialAggregationStatistics:{envelope:!0,centroid:!0,convexHull:!0},supportsStatisticsAggregatedIds:!0,supportsCentroid:!0,supportsCentroidOnDegeneratedQuantizedGeometry:!0,supportsCacheHint:!0,supportsCurrentUser:!1,supportsDegeneratedQuantizedGeometry:!1,supportsDistance:!0,supportsOutDistance:!1,supportsDistinct:!0,supportsExtent:!0,supportsGeometryProperties:!1,supportsHavingClause:!0,supportsOrderBy:!0,supportsPagination:!0,supportsPaginationOnAggregatedQueries:!1,supportsQuantization:!0,supportsQuantizationEditMode:!1,supportsQueryGeometry:!0,supportsResultType:!0,supportsReturnMesh:!1,supportsReturnExceededLimitGeometries:!1,supportsSqlExpression:!0,supportsMaxRecordCountFactor:!1,supportsStandardizedQueriesOnly:!0,supportsTopFeaturesQuery:!1,supportsQueryByAnonymous:!0,supportsQueryByOthers:!0,supportsHistoricMoment:!1,supportsFormatPBF:!1,supportsFormatPBFWithCurves:!1,supportsDisjointSpatialRelationship:!0,supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,maxRecordCountFactor:void 0,maxRecordCount:void 0,maxUniqueIDCount:void 0,relativeTimeBinWindow:0,standardMaxRecordCount:void 0,standardMaxRecordCountNoGeometry:void 0,tileMaxRecordCount:void 0,supportsTrueCurve:!1},"P",0,{supportsDate:!0,supportsFixedInterval:!0,supportsAutoInterval:!0,supportsFixedBoundaries:!0,supportsStackBy:!0,supportsSplitBy:!0,supportsSnapToData:!1,supportsReturnFullIntervalBin:!1,supportsFirstDayOfWeek:!1,supportsNormalization:!0,supportedStatistics:{count:!0,sum:!0,avg:!0,var:!0,stddev:!0,min:!0,max:!0,percentileContinuous:!0,percentileDiscrete:!0,envelope:!0,centroid:!0,convexHull:!0},supportedNormalizationTypes:{field:!0,log:!0,naturalLog:!0,percentOfTotal:!0,squareRoot:!0}}])},65515(t,e,r){r.r(e),r.d(e,{default:()=>Y});var s=r(5482),n=r(92602),i=r(11254),a=r(4576),o=r(49186),u=r(44208),l=r(66552),c=r(92474),p=r(53966),d=r(93637),h=r(17676),y=r(36708),f=r(84952),m=r(13069),g=r(91429),b=r(5443),S=r(16930),A=r(95696),v=r(27615),_=r(63579),x=r(52106),w=r(86211);function M(t){return"object"==typeof t&&null!=t&&"objectId"in t&&!!t.objectId}function q(t){return"object"==typeof t&&null!=t&&"globalId"in t&&!!t.globalId}function I(t){return t.every(q)}var F=r(99917),R=r(65864),O=r(73836),C=r(21325);async function T(t,e,r){const{geometry:s}=e,n={...e.attributes};if(null!=r&&"mesh"===s?.type){const{transformFieldRoles:e}=r,{origin:i,spatialReference:a,vertexSpace:o}=s,u=s.transform??new O.A,l="local"===o.type,c=t.spatialReference,p=c.isGeographic,d=(0,C.aI)(c,a),h=(0,F.isEqualBaseGCS)(a,c)&&(0,F.canProjectWithoutEngine)(a,c);if(!(l&&p&&h||!l&&!p&&d))return null;const y=(0,F.projectWithoutEngine)(i,a,c);if(null==y)return null;if(n[e.originX]=y.x,n[e.originY]=y.y,n[e.originZ]=y.z??0,null!=u){const{translation:t,scale:r,rotation:s}=u,i=l?1:(0,w.KX)(a)/(0,w.KX)(c);n[e.translationX]=t[0]*i,n[e.translationY]=t[2]*i,n[e.translationZ]=-t[1]*i,n[e.scaleX]=r[0],n[e.scaleY]=r[2],n[e.scaleZ]=r[1],n[e.rotationX]=s[0],n[e.rotationY]=s[2],n[e.rotationZ]=-s[1],n[e.rotationDeg]=s[3]}return{attributes:n}}return null==s?{attributes:n}:"mesh"===s.type||"extent"===s.type?null:{geometry:s.toJSON(),attributes:n}}async function P(t,e){const r=await Promise.all((e.addAttachments??[]).map(e=>E(t,e))),s=await Promise.all((e.updateAttachments??[]).map(e=>E(t,e))),n=e.deleteAttachments??[];return r.length||s.length||n.length?{adds:r,updates:s,deletes:[...n]}:null}async function E(t,e){const{feature:r,attachment:s}=e,{globalId:n,name:i,contentType:a,data:o,keywords:u,uploadId:l}=s,c={globalId:n};if(r&&("attributes"in r?c.parentGlobalId=r.attributes?.[t.globalIdField]:r.globalId&&(c.parentGlobalId=r.globalId)),l)c.uploadId=l;else if(o){const t=await(0,f._0)(o);t&&(c.contentType=t.mediaType,c.data=t.data),o instanceof File&&(c.name=o.name)}return i&&(c.name=i),a&&(c.contentType=a),u&&(c.keywords=u),c}function N(t,e,r){if(!e||0===e.length)return[];if(r&&I(e))return e.map(t=>t.globalId);if(function(t){return t.every(M)}(e))return e.map(t=>t.objectId);const s=r?t.globalIdField:t.objectIdField;return s?e.map(t=>t.getAttribute(s)):[]}function D(t){const e=!0===t.success?null:t.error||{code:void 0,description:"Feature edit failed"};return{objectId:t.objectId,globalId:t.globalId,error:e?new o.A("feature-layer-source:edit-failure",e.description,{code:e.code}):null}}function Q(t,e){return new x.A({attributes:t.attributes,geometry:(0,R.rS)({...t.geometry,spatialReference:e})})}function V(t,e){return{adds:t?.adds?.map(t=>Q(t,e))||[],updates:t?.updates?.map(t=>({original:Q(t[0],e),current:Q(t[1],e)}))||[],deletes:t?.deletes?.map(t=>Q(t,e))||[],spatialReference:e}}var Z=r(64714),j=r(64314),J=r(60694),U=r(15426),G=r(20557),k=r(99199),B=r(96520),z=r(97552),X=r(79677),L=r(20816);const $=new l.J({originalAndCurrentFeatures:"original-and-current-features",none:"none"}),W=new l.J({Started:"published",Publishing:"publishing",Stopped:"unavailable"});let Y=class extends c.x_{constructor(t){super(t),this.type="feature-layer",this.supportedSourceTypes=new Set(["Feature Layer","Oriented Imagery Layer","Table","Catalog Layer","Annotation Layer","Dimension Layer"]),this.refresh=(0,h.sg)(async()=>{await this.load();const t=this.sourceJSON.editingInfo?.lastEditDate;if(null==t)return{dataChanged:!0,updates:{}};try{await this._fetchService(null)}catch{return{dataChanged:!0,updates:{}}}const e=t!==this.sourceJSON.editingInfo?.lastEditDate;return{dataChanged:e,updates:e?{editingInfo:this.sourceJSON.editingInfo,extent:this.sourceJSON.extent}:null}}),this._ongoingAssetUploads=new Map}load(t){const e=this.layer.sourceJSON,r=this._fetchService(e,{...t}).then(()=>this.layer.setUserPrivileges(this.sourceJSON.serviceItemId,t)).then(()=>this._ensureLatestMetadata(t));return this.addResolvingPromise(r),Promise.resolve(this)}initialize(){this.addHandles([(0,y.wB)(()=>{const t=this.layer;return t&&"lastEditsEventDate"in t?t.lastEditsEventDate:null},t=>this._handleLastEditsEventChange(t))])}destroy(){this._removeEditInterceptor()}get queryTask(){const{capabilities:t,parsedUrl:e,gdbVersion:r,spatialReference:s,fieldsIndex:n,uniqueIdFields:i}=this.layer,a="infoFor3D"in this.layer?this.layer.infoFor3D:null,o="dynamicDataSource"in this.layer?this.layer.dynamicDataSource:null,l=(0,u.A)("featurelayer-pbf")&&t?.query.supportsFormatPBF&&null==a,c=l&&t?.query.supportsFormatPBFWithCurves,p=t?.operations?.supportsQueryAttachments??!1,d=t?.query?.relativeTimeBinWindow??0,h=e.path;return new j.A({dynamicDataSource:o,fieldsIndex:n,gdbVersion:r,infoFor3D:a,pbfSupported:l,pbfSupportedWithCurves:c,queryAttachmentsSupported:p,relativeTimeBinWindow:d,sourceSpatialReference:s,uniqueIdFields:i,url:h})}async addAttachment(t,e,r){await this.load();const{layer:s}=this;await(0,U.VA)(s,"editing");const n=t.attributes[s.objectIdField],a=s.parsedUrl.path+"/"+n+"/addAttachment",o=this._getLayerRequestOptions({query:r}),u=this._getFormDataForAttachment(e,o.query);try{return D((await(0,i.A)(a,{body:u})).data.addAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(n,t)}}async updateAttachment(t,e,r,s){await this.load();const{layer:n}=this;await(0,U.VA)(n,"editing");const a=t.attributes[n.objectIdField],o=n.parsedUrl.path+"/"+a+"/updateAttachment",u=this._getLayerRequestOptions({query:{attachmentId:e,...s}}),l=this._getFormDataForAttachment(r,u.query);try{return D((await(0,i.A)(o,{body:l})).data.updateAttachmentResult)}catch(t){throw this._createAttachmentErrorResult(a,t)}}async applyEdits(t,e){await this.load();const{layer:r}=this;await(0,U.VA)(r,"editing");const s="infoFor3D"in r?r.infoFor3D:null,n=null!=s,u=n||(e?.globalIdUsed??!1),l=n?await this._uploadMeshesAndGetAssetMapEditsJSON(t):null,c=t.addFeatures?.map(t=>T(this.layer,t,s))??[],p=(await Promise.all(c)).filter(a.Ru),d=t.updateFeatures?.map(t=>T(this.layer,t,s))??[],h=(await Promise.all(d)).filter(a.Ru),y=N(this.layer,t.deleteFeatures,u);(0,B.u)(p,h,r.spatialReference);const f=await P(this.layer,t),m=r.capabilities.editing.supportsAsyncApplyEdits&&n,g=e?.gdbVersion||r.gdbVersion,b={gdbVersion:g,rollbackOnFailure:e?.rollbackOnFailureEnabled,useGlobalIds:u,returnEditMoment:e?.returnEditMoment,trueCurveClient:e?.editsRespectTrueCurves,usePreviousEditMoment:e?.usePreviousEditMoment,async:m};await(0,L.ZJ)(this.layer.url,g,!0);const S=(0,L.w5)(this.layer.url,g||null);if(await(0,L.We)(r.url,g,r.historicMoment))throw new o.A("feature-layer-source:historic-version","Editing a historic version is not allowed");e?.returnServiceEditsOption?(b.edits=JSON.stringify([{id:r.layerId,adds:p.length?p:null,updates:h.length?h:null,deletes:y.length?y:null,attachments:f,assetMaps:l}]),b.returnServiceEditsOption=$.toJSON(e?.returnServiceEditsOption),b.returnServiceEditsInSourceSR=e?.returnServiceEditsInSourceSR):(b.adds=p.length?JSON.stringify(p):null,b.updates=h.length?JSON.stringify(h):null,b.deletes=y.length?u?JSON.stringify(y):y.join(","):null,b.attachments=f&&JSON.stringify(f),b.assetMaps=null!=l?JSON.stringify(l):void 0);const A=this._getLayerRequestOptions({method:"post",query:b});S&&(A.authMode="immediate",A.query.returnEditMoment=!0,A.query.sessionId=L.TA);const v=e?.returnServiceEditsOption?r.url:r.parsedUrl.path;let _;try{_=m?await this._asyncApplyEdits(v+"/applyEdits",A):await(0,i.A)(v+"/applyEdits",A)}catch(t){if(!function(t){const e=t.details.raw,r=+e.code,s=+e.extendedCode;return 500===r&&(-2147217144===s||-2147467261===s)}(t))throw t;A.authMode="immediate",_=m?await this._asyncApplyEdits(v+"/applyEdits",A):await(0,i.A)(v+"/applyEdits",A)}return this._createEditsResult(_)}async deleteAttachments(t,e,r){await this.load();const{layer:s}=this;await(0,U.VA)(s,"editing");const n=t.attributes[s.objectIdField],a=s.parsedUrl.path+"/"+n+"/deleteAttachments";try{return(await(0,i.A)(a,this._getLayerRequestOptions({query:{attachmentIds:e.join(","),...r},method:"post"}))).data.deleteAttachmentResults.map(D)}catch(t){throw this._createAttachmentErrorResult(n,t)}}fetchRecomputedExtents(t={}){const e=t.signal;return this.load({signal:e}).then(async()=>{const e=this._getLayerRequestOptions({...t,query:{returnUpdates:!0}}),{layerId:r,url:s}=this.layer,{data:n}=await(0,i.A)(`${s}/${r}`,e),{id:a,extent:o,fullExtent:u,timeExtent:l}=n,c=o||u;return{id:a,fullExtent:c&&b.A.fromJSON(c),timeExtent:l&&X.A.fromJSON({start:l[0],end:l[1]})}})}async queryAttachments(t,e={}){await this.load();const r=this._getLayerRequestOptions(e);return this.queryTask.executeAttachmentQuery(t,r)}async queryFeatures(t,e){await this.load();const r=await this.queryTask.execute(t,{...e,query:this._createRequestQueryOptions(e)});if(t.outStatistics?.length&&r.features.length){const e=new Map;if(r.features.forEach(r=>{const s=r.attributes;t.outStatistics?.forEach(({outStatisticFieldName:t})=>{if(t){const r=t.toLowerCase();r&&r in s&&t!==r&&(s[t]=s[r],delete s[r],e.set(r,t))}})}),null!=r.fields)for(const t of r.fields){const r=e.get(t.name.toLowerCase());null!=r&&(t.name=r)}}return r}async queryFeaturesJSON(t,e){return await this.load(),this.queryTask.executeJSON(t,{...e,query:this._createRequestQueryOptions(e)})}async queryObjectIds(t,e){return await this.load(),this.queryTask.executeForIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryFeatureCount(t,e){return await this.load(),this.queryTask.executeForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryExtent(t,e){return await this.load(),this.queryTask.executeForExtent(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeatures(t,e){return await this.load(),this.queryTask.executeRelationshipQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryRelatedFeaturesCount(t,e){return await this.load(),this.queryTask.executeRelationshipQueryForCount(t,{...e,query:this._createRequestQueryOptions(e)})}async queryPivot(t,e){return await this.load(),this.queryTask.executePivotQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopFeatures(t,e){return await this.load(),this.queryTask.executeTopFeaturesQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryAttributeBins(t,e){return await this.load(),this.queryTask.executeAttributeBinsQuery(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopObjectIds(t,e){return await this.load(),this.queryTask.executeForTopIds(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopExtents(t,e){return await this.load(),this.queryTask.executeForTopExtents(t,{...e,query:this._createRequestQueryOptions(e)})}async queryTopCount(t,e){return await this.load(),this.queryTask.executeForTopCount(t,{...e,query:this._createRequestQueryOptions(e)})}async fetchPublishingStatus(){if(!(0,J.Wo)(this.layer.url))return"unavailable";const t=(0,f.fj)(this.layer.url,"status"),e=await(0,i.A)(t,{query:{f:"json"}});return W.fromJSON(e.data.status)}async uploadAssets(t,e){const{uploadAssets:s}=await r.e(1384).then(r.bind(r,31384));return s(t,{layer:this.layer,ongoingUploads:this._ongoingAssetUploads},e)}_handleLastEditsEventChange(t){const e=this.layer;if(null==t||!("capabilities"in e)||!("effectiveCapabilities"in e))return;if(e.capabilities?.operations?.supportsEditing||!e.effectiveCapabilities?.operations?.supportsEditing)return;let r=e.url;null!=r&&("layerId"in e&&(r=(0,f.fj)(r,e.layerId.toString())),this._getOrCreateEditInterceptor(r).before=e=>{const r=e.requestOptions.method??"auto";if("auto"===r||"head"===r){const r=e.requestOptions.query??{};r._ts=t.getTime(),e.requestOptions.query=r}})}_getOrCreateEditInterceptor(t){return null==this._editInterceptor&&(this._editInterceptor={urls:t},n.A.request.internalInterceptors.push(this._editInterceptor)),this._editInterceptor}_removeEditInterceptor(){null!=this._editInterceptor&&((0,a.TF)(n.A.request.internalInterceptors,this._editInterceptor),this._editInterceptor=null)}async _asyncApplyEdits(t,e){const r=(await(0,i.A)(t,e)).data.statusUrl;for(;;){const t=(await(0,i.A)(r,{query:{f:"json"},responseType:"json"})).data;switch(t.status){case"Completed":return(0,i.A)(t.resultUrl,{query:{f:"json"},responseType:"json"});case"CompletedWithErrors":throw new o.A("async-applyEdits-failed","asynchronous applyEdits call failed.");case"Failed ImportChanges":case"InProgress":case"Pending":case"ExportAttachments":case"ExportChanges":case"ExportingData":case"ExportingSnapshot":case"ImportAttachments":case"ProvisioningReplica":case"UnRegisteringReplica":break;default:throw new o.A("async-applyEdits-failed","asynchronous applyEdits call failed (undefined response status)")}await(0,h.Pl)(H)}}_createRequestQueryOptions(t){const e={...this.layer.customParameters,token:this.layer.apiKey,...t?.query};return this.layer.datesInUnknownTimezone&&(e.timeReferenceUnknownClient=!0),e}async _fetchService(t,e){if(!t){const r={};(0,u.A)("featurelayer-advanced-symbols")&&(r.returnAdvancedSymbols=!0),e?.cacheBust&&(r._ts=Date.now());const{data:s}=await(0,i.A)(this.layer.parsedUrl.path,this._getLayerRequestOptions({query:r,signal:e?.signal}));t=s}this.layer.applyPreferredHost(t),this.sourceJSON=await this._patchServiceJSON(t,e?.signal);const r=t.type;if(!this.supportedSourceTypes.has(r))throw new o.A("feature-layer-source:unsupported-type",`Source type "${r}" is not supported`)}async _patchServiceJSON(t,e){if("Table"!==t.type&&t.geometryType&&!t?.drawingInfo?.renderer&&!t.defaultSymbol){const e=(0,Z.F0)(t.geometryType).renderer;(0,d.sM)("drawingInfo.renderer",e,t)}if("esriGeometryMultiPatch"===t.geometryType&&t.infoFor3D&&(t.geometryType="mesh"),null==t.extent)try{const{data:r}=await(0,i.A)(this.layer.url,this._getLayerRequestOptions({signal:e}));r.spatialReference&&(t.extent={xmin:0,ymin:0,xmax:0,ymax:0,spatialReference:r.spatialReference})}catch(t){(0,h.QP)(t)}return t}async _ensureLatestMetadata(t){if(this.layer.userHasUpdateItemPrivileges&&this.sourceJSON.cacheMaxAge>0)return this._fetchService(null,{...t,cacheBust:!0})}async _uploadMeshesAndGetAssetMapEditsJSON(t){const{addAssetFeatures:e}=t;if(!e?.length)return null;if(await this._areAllAssetsAlreadyMapped(e))return null;const s=t.addFeatures.filter(t=>t.geometry);if(e.length!==s.length+t.updateFeatures.length)throw new o.A("feature-layer-source:unsupported-mesh-edits","Mixing attribute only edits with mesh geometry edits is not currently supported");const n=new Array,i=new Map;for(const t of e){const{geometry:e}=t,{vertexSpace:s}=e;if((0,v.Hq)(s))n.push(e);else{const s=e.origin,{convertMeshVertexSpace:a}=await Promise.all([r.e(6860),r.e(4508)]).then(r.bind(r,28846)),o=await a(e,new A.A({origin:[s.x,s.y,s.z??0]}));i.set(o,e),t.geometry=o,n.push(o)}}await this.uploadAssets(n);for(const[t,e]of i)e.addExternalSources(t.metadata.externalSources.items);return{adds:this._getAssetMapEditsJSON(e),updates:[],deletes:[]}}_getAssetMapEditsJSON(t){const e=new Array,r=this.layer.globalIdField,s=this.layer.parsedUrl;for(const n of t){const t=n.geometry,{metadata:i}=t,a=i.getExternalSourcesOnService(s),o=n.getAttribute(r);if(0===a.length){p.A.getLogger(this).error(`Skipping feature ${o}. The mesh it is associated with has not been uploaded to the service and cannot be mapped to it.`);continue}const{source:u}=a.find(_.dK)??a[0];for(const t of u.assets)1===t.parts.length?e.push({globalId:(0,m.yS)(),parentGlobalId:o,assetName:t.assetName,assetHash:t.parts[0].partHash,flags:[]}):p.A.getLogger(this).error(`Skipping asset ${t.assetName}. It does not have exactly one part, so we cannot map it to a feature.`)}return e}_createEditsResult(t){const e=t.data,{layerId:r}=this.layer,s=[];let n=null;if(Array.isArray(e))for(const t of e)s.push({id:t.id,editedFeatures:t.editedFeatures}),t.id===r&&(n={addResults:t.addResults??[],updateResults:t.updateResults??[],deleteResults:t.deleteResults??[],attachments:t.attachments,editMoment:t.editMoment});else n=e;const i=function(t){const e=t?.assetMaps;if(e){for(const t of e.addResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`);for(const t of e.updateResults)t.success||p.A.getLogger("esri.layers.graphics.sources.support.sourceUtils").error(`Failed to map asset to feature with globalId ${t.globalId}.`)}const r=t?.attachments,s={addFeatureResults:t?.addResults?.map(D)??[],updateFeatureResults:t?.updateResults?.map(D)??[],deleteFeatureResults:t?.deleteResults?.map(D)??[],addAttachmentResults:r?.addResults?r.addResults.map(D):[],updateAttachmentResults:r?.updateResults?r.updateResults.map(D):[],deleteAttachmentResults:r?.deleteResults?r.deleteResults.map(D):[]};return t?.editMoment&&(s.editMoment=t.editMoment),s}(n);if(s.length>0){i.editedFeatureResults=[];for(const t of s){const{editedFeatures:e}=t,r=e?.spatialReference?new S.A(e.spatialReference):null;i.editedFeatureResults.push({layerId:t.id,editedFeatures:V(e,r)})}}return i}_createAttachmentErrorResult(t,e){const r=e.details.messages?.[0]||e.message,s=e.details.httpStatus||e.details.messageCode;return{objectId:t,globalId:null,error:new o.A("feature-layer-source:attachment-failure",r,{code:s})}}_getFormDataForAttachment(t,e){const r=t instanceof FormData?t:t&&t.elements?new FormData(t):null;if(r)for(const t in e){const s=e[t];null!=s&&(r.set?r.set(t,s):r.append(t,s))}return r}_getLayerRequestOptions(t={}){const{layer:e,layer:{parsedUrl:r,gdbVersion:s}}=this;return{...t,query:{gdbVersion:s,layer:"dynamicDataSource"in e&&e.dynamicDataSource?JSON.stringify({source:e.dynamicDataSource}):void 0,...r.query,f:"json",...this._createRequestQueryOptions(t)},responseType:"json"}}async _areAllAssetsAlreadyMapped(t){const{layer:e}=this,{globalIdField:r,parsedUrl:s}=e,n="infoFor3D"in e?e.infoFor3D:null;if(null==n||null==r)return!1;const i=(0,G.JZ)(n);if(null==i)return!1;const o=(0,f.fj)(s.path,`../${i.id}`),u=new Array;for(const e of t){if(!(e.geometry.metadata.getExternalSourcesOnService(s).length>0))return!1;u.push(e)}const l=u.map(t=>t.getAttribute(r)).filter(a.Ru);if(0===l.length)return!1;const{assetMapFieldRoles:{parentGlobalId:c,assetHash:p}}=n,d=new z.A({where:`${c} IN (${l.map(t=>`'${t}'`)})`,outFields:[p,c],returnGeometry:!1}),h=await(0,k.s)(o,d),{features:y}=h;return 0!==y.length&&!u.some(t=>{const e=t.getAttribute(r);if(!e)return!0;const{metadata:n}=t.geometry,i=y.filter(t=>t.getAttribute(c)===e);if(0===i.length)return!0;const a=i.map(t=>t.getAttribute(p));return n.getExternalSourcesOnService(s).flatMap(({source:t})=>t.assets.flatMap(t=>t.parts.map(t=>t.partHash))).some(t=>a.every(e=>t!==e))})}};(0,s.Cg)([(0,g.MZ)()],Y.prototype,"type",void 0),(0,s.Cg)([(0,g.MZ)({constructOnly:!0})],Y.prototype,"layer",void 0),(0,s.Cg)([(0,g.MZ)({constructOnly:!0})],Y.prototype,"supportedSourceTypes",void 0),(0,s.Cg)([(0,g.MZ)({readOnly:!0})],Y.prototype,"queryTask",null),Y=(0,s.Cg)([(0,g.$K)("esri.layers.graphics.sources.FeatureLayerSource")],Y);const H=1e3},64314(t,e,r){r.d(e,{A:()=>M});var s=r(5482),n=r(69622),i=r(49186),a=r(44208),o=r(17676),u=r(84952),l=r(91429),c=r(21325),p=r(20557),d=r(2272),h=r(65615),y=r(20615),f=r(74910),m=r(78286),g=r(99199),b=r(62815),S=r(63746);class A{constructor(t){this._options=t,this.featureSet={features:[]},this.parseOnly=null,this._transformInPlace=null,this._transformInPlaceXY=null,this._finishVertex=A._finishVertexNonPoint,this._attributesClass=null,this._previousX=0,this._previousY=0,this._point=null,this._lengths=null,this._vertex=[],this._part=null,this._parts=null,this._i=0}queryGeometryType(){return this.featureSet.queryGeometryType}queryGeometry(){return this.featureSet.queryGeometry}idField(t){"string"==typeof t&&(this.featureSet.objectIdFieldName=t)}finish(){this._options.applyTransform&&(this.featureSet.transform=null);const{spatialReference:t,features:e}=this.featureSet;if(t)for(const{geometry:r}of e)r&&(r.spatialReference=t)}feature(){this._attributesClass??=(0,S._)(this.featureSet.fields?.map(t=>t.name)??[]),this.featureSet.features.push({attributes:new this._attributesClass}),this._options.applyTransform&&this._setVertexTransformer()}centroid([t,e]){this.featureSet.features.at(-1).centroid={x:t,y:e}}geometry(t,e,r){this._previousX=this._previousY=0,this._lengths=r;let s,{hasZ:n,hasM:i}=this.featureSet;switch(n??=!1,i??=!1,this._i=0,this._vertex=[0,0],n&&this._vertex.push(0),i&&this._vertex.push(0),this._finishVertex=A._finishVertexNonPoint,e){case"esriGeometryPoint":this._point={x:0,y:0},s=this._point,this._finishVertex=n?i?A._finishVertexPointXYZM:A._finishVertexPointXYZ:i?A._finishVertexPointXYM:A._finishVertexPointXY;break;case"esriGeometryMultipoint":s={points:[],hasZ:n,hasM:i},this._part=s.points,this._parts=[];break;case"esriGeometryPolyline":s={paths:[],hasZ:n,hasM:i},this._parts=s.paths,this._part=[];break;case"esriGeometryPolygon":s={rings:[],hasZ:n,hasM:i},this._parts=s.rings,this._part=[]}1===t?(this.featureSet.queryGeometry=s,this.featureSet.queryGeometryType=e,this._options.applyTransform||this._setVertexTransformer()):this.featureSet.features.at(-1).geometry=s}coord(t){const e=this._vertex;e[this._i++]=t,this._i<e.length||(this._i=0,this._transformInPlace&&(e[0]+=this._previousX,e[1]+=this._previousY,[this._previousX,this._previousY]=e,this._transformInPlace(e)),this._finishVertex(this))}curvedGeometry(t,e,r,s){let n,{hasZ:i,hasM:a}=this.featureSet;switch(i??=!1,a??=!1,t){case"esriGeometryPoint":case"esriGeometryMultipoint":throw new Error(`Curved ${t} does not make sense`);case"esriGeometryPolyline":n={paths:[],curvePaths:[],hasZ:i,hasM:a},this._parts=n.curvePaths,this._part=[];break;case"esriGeometryPolygon":n={rings:[],curveRings:[],hasZ:i,hasM:a},this._parts=n.curveRings,this._part=[]}this.featureSet.features.at(-1).geometry=n}startCurvedPart(t){this._part.push(this._transform(t))}finishCurvedPart(t){this._parts.push(this._part),this._part=[]}lineSegment(t,e){this._part.push(this._transform(e))}bezierSegment(t,e,r,s){this._part.push({b:[this._transform(e),this._transformXY(r),this._transformXY(s)]})}circularArcSegment(t,e,r){this._part.push({c:[this._transform(e),this._transformXY(r)]})}ellipticArcSegment(t,e,r,s,n,i,a,o){this._part.push({a:[this._transform(e),this._transformXY(r),s,n,i,a,o]})}static _finishVertexPointXY({_point:t,_vertex:e}){[t.x,t.y]=e}static _finishVertexPointXYZ({_point:t,_vertex:e}){[t.x,t.y,t.z]=e}static _finishVertexPointXYM({_point:t,_vertex:e}){[t.x,t.y,t.m]=e}static _finishVertexPointXYZM({_point:t,_vertex:e}){[t.x,t.y,t.z,t.m]=e}static _finishVertexNonPoint(t){const{_part:e,_parts:r,_lengths:s,_vertex:n}=t;e.push([...n]),e.length<s[r.length]||(t._previousX=t._previousY=0,t._part=[],r.push(e))}_setVertexTransformer(){const{sourceSpatialReference:t}=this._options,{spatialReference:e,hasZ:r,transform:s}=this.featureSet,n=r?(0,b.d)(t,e):1;this._transformInPlace??=(0,S.M)(this.featureSet,n),this._transformInPlaceXY??=(0,S.M)({transform:s})}_transform(t){const e=[...t];return this._transformInPlace?.(e),e}_transformXY(t){const e=[t[0],t[1]];return this._transformInPlaceXY?.(e),e}}var v=r(80893),_=r(22671),x=r(97552);async function w(t,e,r,s){const n=(0,d.Dl)(t),i={...r},a=x.A.from(e),o=!a.quantizationParameters;return await(0,v.IJ)(n,a,new A({sourceSpatialReference:a.sourceSpatialReference,applyTransform:o}),i,s)}let M=class extends n.A{constructor(t){super(t),this.dynamicDataSource=null,this.fieldsIndex=null,this.gdbVersion=null,this.infoFor3D=null,this.pbfSupported=!1,this.pbfSupportedWithCurves=!1,this.queryAttachmentsSupported=!1,this.relativeTimeBinWindow=0,this.sourceSpatialReference=null,this.uniqueIdFields=null,this.url=null}get parsedUrl(){return(0,u.An)(this.url)}async execute(t,e){const r=await this.executeJSON(t,e);return this.featureSetFromJSON(t,r,e)}async executeJSON(t,e){const r=this._normalizeQuery(t),s=null!=t.outStatistics?.[0],n=(0,a.A)("featurelayer-pbf-statistics");let i;if(this.pbfSupported&&(!s||n)&&(!t.returnTrueCurves||this.pbfSupportedWithCurves))try{i=await w(this.url,r,e,{uniqueIdFields:this.uniqueIdFields})}catch(t){if("query:parsing-pbf"!==t.name)throw t;this.pbfSupported=!1}return i??=await(0,g.e)(this.url,r,e,{uniqueIdFields:this.uniqueIdFields}),this._normalizeFields(i.fields),i}async featureSetFromJSON(t,e,s){if(!this._queryGet3DObjectFormat(t)||null==this.infoFor3D||!e.features)return _.A.fromJSON(e);const{meshFeatureSetFromJSON:n}=await(0,o.qr)(Promise.all([r.e(6860),r.e(118),r.e(8366)]).then(r.bind(r,40050)),s);return n(t,this.infoFor3D,e)}executeForCount(t,e){return(0,y.I)(this.url,this._normalizeQuery(t),e,{uniqueIdFields:this.uniqueIdFields})}executeForExtent(t,e){return(0,f.L)(this.url,this._normalizeQuery(t),e)}executeForIds(t,e){return(0,m.V)(this.url,this._normalizeQuery(t),e,{uniqueIdFields:this.uniqueIdFields})}async executeRelationshipQuery(t,e){const[{default:s},{executeRelationshipQuery:n}]=await(0,o.qr)(Promise.all([Promise.resolve().then(r.bind(r,26591)),r.e(1763).then(r.bind(r,71763))]),e);let i=s.from(t);return(this.gdbVersion||this.dynamicDataSource)&&(i=i.clone(),i.gdbVersion=i.gdbVersion||this.gdbVersion,i.dynamicDataSource=i.dynamicDataSource||this.dynamicDataSource),n(this.url,i,e)}async executeRelationshipQueryForCount(t,e){const[{default:s},{executeRelationshipQueryForCount:n}]=await(0,o.qr)(Promise.all([Promise.resolve().then(r.bind(r,26591)),r.e(1763).then(r.bind(r,71763))]),e);let i=s.from(t);return(this.gdbVersion||this.dynamicDataSource)&&(i=i.clone(),i.gdbVersion=i.gdbVersion||this.gdbVersion,i.dynamicDataSource=i.dynamicDataSource||this.dynamicDataSource),n(this.url,i,e)}async executeAttachmentQuery(t,e){const{executeAttachmentQuery:s,fetchAttachments:n,processAttachmentQueryResult:i}=await(0,o.qr)(r.e(9239).then(r.bind(r,9239)),e),a=(0,d.Dl)(this.url);return i(a,await(this.queryAttachmentsSupported?s(a,t,e):n(a,t,e)))}async executeAttributeBinsQuery(t,e){const{executeAttributeBinsQuery:s}=await(0,o.qr)(r.e(3103).then(r.bind(r,33103)),e);return s(this.parsedUrl,t,e)}async executePivotQuery(t,e){const{executePivotQuery:s}=await(0,o.qr)(r.e(566).then(r.bind(r,80566)),e);return s(this.parsedUrl,t,e)}async executeTopFeaturesQuery(t,e){const{executeTopFeaturesQuery:s}=await(0,o.qr)(r.e(1273).then(r.bind(r,11273)),e);return s(this.parsedUrl,t,this.sourceSpatialReference,e)}async executeForTopIds(t,e){const{executeForTopIds:s}=await(0,o.qr)(r.e(1277).then(r.bind(r,21277)),e);return s(this.parsedUrl,t,e)}async executeForTopExtents(t,e){const{executeForTopExtents:s}=await(0,o.qr)(r.e(8018).then(r.bind(r,8018)),e);return s(this.parsedUrl,t,e)}async executeForTopCount(t,e){const{executeForTopCount:s}=await(0,o.qr)(r.e(980).then(r.bind(r,10980)),e);return s(this.parsedUrl,t,e)}_normalizeQuery(t){let e=x.A.from(t);e.sourceSpatialReference=e.sourceSpatialReference||this.sourceSpatialReference,(this.gdbVersion||this.dynamicDataSource)&&(e=e===t?e.clone():e,e.gdbVersion=t.gdbVersion||this.gdbVersion,e.dynamicDataSource=t.dynamicDataSource?h.A.from(t.dynamicDataSource):this.dynamicDataSource);const{infoFor3D:r}=this,s=this._queryGet3DObjectFormat(t);if(null!=r&&s){if(e=e===t?e.clone():e,e.formatOf3DObjects=s,e.outSpatialReference&&!(0,c.aI)(e.outSpatialReference,this.sourceSpatialReference))throw new i.A("query:unsupported-out-spatial-reference","3D object feature services do not support projection of geometries");if(null==e.outFields||!e.outFields.includes("*")){e=e===t?e.clone():e,null==e.outFields&&(e.outFields=[]);const{originX:s,originY:n,originZ:i,translationX:a,translationY:o,translationZ:u,scaleX:l,scaleY:c,scaleZ:p,rotationX:d,rotationY:h,rotationZ:y,rotationDeg:f}=r.transformFieldRoles;e.outFields.push(s,n,i,a,o,u,l,c,p,d,h,y,f)}}return e}_normalizeFields(t){if(null!=this.fieldsIndex&&null!=t)for(const e of t){const t=this.fieldsIndex.get(e.name);t&&Object.assign(e,t.toJSON())}}_queryGet3DObjectFormat({returnGeometry:t,multipatchOption:e,outStatistics:r}){return!0!==t||"xyFootprint"===e||r?null:(0,p.Hz)(this.infoFor3D)}};(0,s.Cg)([(0,l.MZ)({type:h.A})],M.prototype,"dynamicDataSource",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"fieldsIndex",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"gdbVersion",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"infoFor3D",void 0),(0,s.Cg)([(0,l.MZ)({readOnly:!0})],M.prototype,"parsedUrl",null),(0,s.Cg)([(0,l.MZ)()],M.prototype,"pbfSupported",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"pbfSupportedWithCurves",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"queryAttachmentsSupported",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"relativeTimeBinWindow",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"sourceSpatialReference",void 0),(0,s.Cg)([(0,l.MZ)()],M.prototype,"uniqueIdFields",void 0),(0,s.Cg)([(0,l.MZ)({type:String})],M.prototype,"url",void 0),M=(0,s.Cg)([(0,l.$K)("esri.layers.graphics.sources.support.QueryTask")],M)},64714(t,e,r){r.d(e,{F0:()=>o,Vx:()=>c,e2:()=>d,f:()=>h});var s=r(44208),n=r(4718),i=r(99352),a=r(93470);function o(t){return{renderer:{type:"simple",symbol:"esriGeometryPoint"===t||"esriGeometryMultipoint"===t?a.Cb:"esriGeometryPolyline"===t?a.yM:a.WR}}}const u=/^[_$a-zA-Z][_$a-zA-Z0-9]*$/;let l=1;function c(t,e){if((0,s.A)("esri-csp-restrictions"))return()=>e?{[e]:null,...t}:{...t};try{let r="";e&&(r+=`this${p(e)} = null;`);for(const e in t)r+=`this${p(e)} = ${JSON.stringify(t[e])};`;const s=new Function(`\n return class AttributesClass$${l++} {\n constructor() {\n ${r};\n }\n }\n `)();return()=>new s}catch(r){return()=>e?{[e]:null,...t}:{...t}}}function p(t){return u.test(t)?`.${t}`:`[${JSON.stringify(t)}]`}function d(t={}){return[{name:"New Feature",description:"",prototype:{attributes:(0,n.o8)(t)}}]}function h(t,e){return{analytics:{supportsCacheHint:!1},attachment:null,data:{isVersioned:!1,isBranchVersioned:!1,supportedCurveTypes:[],supportsAttachment:!1,supportsM:!1,supportsTrueCurve:!1,supportsZ:t},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:e,supportsDelete:e,supportsEditing:e,supportsChangeTracking:!1,supportsQuery:!0,supportsQueryBins:!0,supportsQueryPivot:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:e,supportsExceedsLimitStatistics:!0,supportsAsyncConvert3D:!1},query:i.F,queryRelated:{supportsCount:!0,supportsOrderBy:!0,supportsPagination:!0,supportsCacheHint:!1},queryTopFeatures:{supportsCacheHint:!1},queryAttributeBins:i.P,editing:{supportsGeometryUpdate:e,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsTrueCurveUpdate:e,supportsTrueCurveUpdateByTrueCurveClientsOnly:!1,supportsUpdateWithoutM:!1,supportsUploadWithItemId:!1,supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}},20615(t,e,r){r.d(e,{I:()=>a});var s=r(2272),n=r(80893),i=r(97552);function a(t,e,r,a){return(0,n.gW)((0,s.Dl)(t),i.A.from(e),r,a)}},74910(t,e,r){r.d(e,{L:()=>o});var s=r(5443),n=r(2272),i=r(80893),a=r(97552);async function o(t,e,r){const o=(0,n.Dl)(t),u=await(0,i.Jf)(o,a.A.from(e),{...r}),l=u.extent;return!l||isNaN(l.xmin)||isNaN(l.ymin)||isNaN(l.xmax)||isNaN(l.ymax)?{count:u.count,extent:null}:{count:u.count,extent:s.A.fromJSON(l)}}},78286(t,e,r){r.d(e,{V:()=>a});var s=r(2272),n=r(80893),i=r(97552);async function a(t,e,r,a){const o=(0,s.Dl)(t),u=await(0,n.Pk)(o,i.A.from(e),r,a);return u.objectIds??function(t){if(t)return function(t){return!Array.isArray(t[0])}(t)?t:t.map(t=>JSON.stringify(t))}(u.uniqueIds)??[]}},99199(t,e,r){r.d(e,{e:()=>u,s:()=>o});var s=r(2272),n=r(80893),i=r(22671),a=r(97552);async function o(t,e,r,s){const n=await u(t,e,r,s);return i.A.fromJSON(n)}function u(t,e,r,i){const o=(0,s.Dl)(t),u={...r},l=a.A.from(e);return(0,n.eW)(o,l,l.sourceSpatialReference,u,i)}},63746(t,e,r){function s(t){return class{constructor(){for(const e of t)this[e]=null}}}function n(t,e=1){const{transform:r,hasZ:s,hasM:n}=t;if(null==r)return s&&1!==e?t=>{t[2]*=e}:null;const[i,a]=function(t,e,r,s){let{scale:n,translate:i,originPosition:a}=t;return"upperLeft"===a&&(n=n.map((t,e)=>1===e?-t:t)),e&&(n=n.map((t,e)=>2===e?t*s:t),i=i.map((t,e)=>2===e?t*s:t)),!e&&r&&(n=n.filter((t,e)=>2!==e),i=i.filter((t,e)=>2!==e)),[n,i]}(r,s,n,e),o=t.hasZ?3:2;return t=>{for(let e=0;e<t.length&&(e!==o||0!==t[e]);++e)t[e]=t[e]*i[e]+a[e]}}r.d(e,{M:()=>n,_:()=>s})},2272(t,e,r){r.d(e,{Dl:()=>l,gf:()=>p,jV:()=>u,lF:()=>c});var s=r(92602),n=r(70333),i=r(4718),a=r(84952),o=r(926);function u(t,e){return e?{...e,query:{...t,...e.query}}:{query:t}}function l(t){return"string"==typeof t?(0,a.An)(t):(0,i.o8)(t)}function c(t,e,r){const s={};for(const n in t){if("declaredClass"===n)continue;const i=t[n];if(null!=i&&"function"!=typeof i)if(Array.isArray(i))s[n]=i.map(t=>c(t));else if("object"==typeof i)if(i.toJSON){const t=i.toJSON(r?.[n]);s[n]=e?t:JSON.stringify(t)}else s[n]=e?i:JSON.stringify(i);else s[n]=i}return s}async function p(t,e,i){const a=function(t,e){return t?e&&(0,o.Qc)(t)?e:(0,o.getApiKey)(t)??n.id?.findCredential(t)?.token:null}(t,e);if(a)return a;!n.id&&s.A.request.useIdentity&&await Promise.all([r.e(7632),r.e(2584),r.e(148)]).then(r.bind(r,50148));const u=await n.id.getCredential(t,i);return u?.token}}}]);