@arcgis/core 4.32.0-next.20250211 → 4.32.0-next.20250212
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{9a237b396518b1c67f19.js → 00780271be2fd6e298c1.js} +1 -1
- package/assets/esri/core/workers/chunks/0b8bf1966653c326e95a.js +1 -0
- package/assets/esri/core/workers/chunks/{a4a9b4f792d47566fbf4.js → 17213c3fc63f580e5b73.js} +1 -1
- package/assets/esri/core/workers/chunks/272662e4e28341419b4f.js +1 -0
- package/assets/esri/core/workers/chunks/{74844334b3a2100220fc.js → 37cfd102b6ab5b959f9d.js} +1 -1
- package/assets/esri/core/workers/chunks/3835c2884c55e73dc202.js +1 -0
- package/assets/esri/core/workers/chunks/{8ddd4e2e50b8206564a7.js → 3ebdd0701e77bb28c75d.js} +1 -1
- package/assets/esri/core/workers/chunks/4848a3e31632d15dc4ce.js +1 -0
- package/assets/esri/core/workers/chunks/{76794184ba8c2e66745e.js → 629f4621ba6ffdcaa2f9.js} +1 -1
- package/assets/esri/core/workers/chunks/{c26ffbff1115e76bcb0f.js → 6c30a25adf22d73d4977.js} +1 -1
- package/assets/esri/core/workers/chunks/{50ae86c23efe709f41cc.js → 6fa1f1e431aae1794ce3.js} +1 -1
- package/assets/esri/core/workers/chunks/82facb23dfaba2819bc7.js +1 -0
- package/assets/esri/core/workers/chunks/8722d05ae9b0aa5162a4.js +1 -0
- package/assets/esri/core/workers/chunks/8de4280080296adb1757.js +1 -0
- package/assets/esri/core/workers/chunks/{1f443b99653708470f31.js → 96d7f47ea8fbf345101c.js} +1 -1
- package/assets/esri/core/workers/chunks/{df3d1a8d3f11d52eb30d.js → afdbdc1569b56489c14d.js} +1 -1
- package/assets/esri/core/workers/chunks/{89e3f7880abd014a62c0.js → b42d26123784997c66e8.js} +1 -1
- package/assets/esri/core/workers/chunks/de638753a30c9aa41bad.js +1 -0
- package/assets/esri/core/workers/chunks/{1cbeac3301b6943bb28a.js → fc07d47d44c04f123650.js} +1 -1
- package/assets/esri/themes/base/_core.scss +4 -0
- package/assets/esri/themes/base/widgets/_BasemapGallery.scss +0 -5
- package/assets/esri/themes/base/widgets/_Editor.scss +1 -0
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +80 -0
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +14 -0
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +41 -0
- package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -6
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/Bufferer-B-V7yYm-.js +5 -0
- package/chunks/Distance2DCalculator-Coa0qAFt.js +5 -0
- package/chunks/Envelope.js +1 -1
- package/chunks/{GeodeticDistanceCalculator-BsWHOuqE.js → GeodeticDistanceCalculator-D4iQ-_NX.js} +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/OperatorClip.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorGeneralize.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDistance.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/QuadraticBezier.js +1 -1
- package/chunks/ShadowHighlight.glsl.js +2 -4
- package/chunks/distanceOperator.js +1 -1
- package/editing/templateUtils.js +1 -1
- package/geometry/operators/extendOperator.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
- package/geometry/operators/gx/operatorIntegrate.js +1 -1
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/isNearOperator.js +1 -1
- package/geometry/operators/projectOperator.js +1 -1
- package/geometry/operators/shapePreservingProjectOperator.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/interfaces.d.ts +91 -67
- package/layers/support/SubtypeSublayer.js +1 -1
- package/networks/Network.js +1 -1
- package/networks/RulesTable.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/networks/support/typeUtils.js +1 -1
- package/package.json +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/Overrides.js +1 -1
- package/views/2d/layers/features/sources/strategies/chunks/SourceChunkStore.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/SceneView.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
- package/widgets/AreaMeasurement2D.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/ReactiveGraphic.js +1 -1
- package/widgets/BatchAttributeForm/inputs/EditableInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/GroupInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
- package/widgets/DistanceMeasurement2D.js +1 -1
- package/widgets/Editor/AddAssociationWorkflow.js +5 -0
- package/widgets/Editor/AddAssociationWorkflowData.js +5 -0
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/Feature/FeatureUtilityNetworkAssociationList.js +1 -1
- package/widgets/Feature/FeatureUtilityNetworkAssociations.js +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +5 -0
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationSettings.js +5 -0
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/UtilityNetworkAssociationAddAssociationViewModel.js +5 -0
- package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.d.ts +2 -2
- package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +1 -1
- package/widgets/support/FilterBuilder.js +1 -1
- package/widgets/support/FilterCondition/FilterConditionViewModel.js +1 -1
- package/widgets/support/FilterCondition.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/FeatureUtilityNetworkAssociationsViewModel.js +5 -0
- package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationList.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/utilityNetworkUtils.js +1 -1
- package/assets/esri/core/workers/chunks/0ac1399d252f2df670b6.js +0 -1
- package/assets/esri/core/workers/chunks/3d5442055e01493efcb2.js +0 -1
- package/assets/esri/core/workers/chunks/74f42e46bf551aab14dc.js +0 -1
- package/assets/esri/core/workers/chunks/9fb45c006d790273e8c1.js +0 -1
- package/assets/esri/core/workers/chunks/a6be1105a5e1f9597c5e.js +0 -1
- package/assets/esri/core/workers/chunks/d0e9874eb304010305c6.js +0 -1
- package/assets/esri/core/workers/chunks/d27a199fd8e2ade69254.js +0 -1
- package/assets/esri/core/workers/chunks/f9070edd8e0b2a57af79.js +0 -1
- package/chunks/Bufferer-DjC-SKTJ.js +0 -5
- package/chunks/Distance2DCalculator-8-JrFGHH.js +0 -5
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationSettings.js +0 -5
- package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.d.ts +0 -4
- package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +0 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3169,6061,8125,9202],{16141:(e,t,n)=>{n.d(t,{D:()=>N,m:()=>c,s:()=>_,w:()=>f});var r=n(90237),i=n(55537),s=n(35368),o=n(12189),a=n(83661),m=n(79187),u=n(95213);function c(){return{outPoint:new a.P,index:-1,t:Number.NaN}}function l(e,t,n){return{outPoint:e.clone(),index:t,t:n}}function h(e,t,n,r){e.outPoint.assign(t),e.index=n,e.t=r}function g(e,t){e.outPoint.assign(t.outPoint),e.index=t.index,e.t=t.t}function y(e,t,n,r){e.index=n,e.t=r,t.queryCoord2D(e.t,e.outPoint)}function p(e,t){const n=c();g(n,e),g(e,t),g(t,n)}function f(e,t,n,r,s,a){if(e.getGeometryType()===i.G.enumPolygon){for(;r.nextPath();)if(r.hasNextSegment()){const t=r.nextSegment();if(0!==(0,o.g)(e,t.getEndXY(),0))return h(s,t.getEndXY(),-1,Number.NaN),h(a,t.getEndXY(),-1,Number.NaN),!0}r.resetToFirstPath()}if(t.getGeometryType()===i.G.enumPolygon){for(;n.nextPath();)if(n.hasNextSegment()){const e=n.nextSegment();if(0!==(0,o.g)(t,e.getEndXY(),0))return h(s,e.getEndXY(),-1,Number.NaN),h(a,e.getEndXY(),-1,Number.NaN),!0}n.resetToFirstPath()}return!1}function _(e){const t=e.getPathCount(),n=new Array(e.getSegmentCount());let r=0;for(let i=0;i<t;++i){const t=r+e.getSegmentCountPath(i);for(let s=r,o=e.getPathStart(i);s<t;++s,++o)n[s]=o;r=t}return(0,s.s)(e.getPointCount(),n),n}function v(e,t){return!!Number.isNaN(t)||e<=t}function D(e){const t=new s.a;return t.addEnvelope(e,!1),t}class N{constructor(e,t){if(this.m_env2DgeometryA=null,this.m_env2DgeometryB=null,this.m_progressCounter=0,this.m_progressTracker=t,this.m_maxSqrDistance=e*e,this.m_maxDistance=e,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=e,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let e=Math.sqrt(this.m_maxSqrDistance);for(;e<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,e=Math.sqrt(this.m_maxSqrDistance)}}calculate(e,t,n,r){if((e.getGeometryType()!==u.P.type||t.getGeometryType()!==u.P.type)&&(this.m_env2DgeometryA=new m.J,this.m_env2DgeometryB=new m.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!v(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance)))return Number.POSITIVE_INFINITY;const i=l(new a.P,(0,a.h)(),Number.NaN),s=l(new a.P,(0,a.h)(),Number.NaN),o=this._ExecuteBruteForce(e,t,i,s);return v(o,this.m_maxDistance)?(null!==n&&g(n,i),null!==r&&g(r,s),o):Number.POSITIVE_INFINITY}isNear(e,t){if(this.m_bIsNearCalc=!0,e.isEmpty()||t.isEmpty())return!1;if(e===t)return!0;let n=!0;if(e.getGeometryType()!==u.P.type&&e.getGeometryType()!==u.E.type||t.getGeometryType()!==u.P.type&&t.getGeometryType()!==u.E.type||(n=!1),n){if(this.m_env2DgeometryA=new m.J,this.m_env2DgeometryB=new m.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!(this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)>this.m_maxSqrDistance))return!0;if(this.m_env2DgeometryA.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>this.m_maxSqrDistance)return!1}const r=l(new a.P,(0,a.h)(),Number.NaN),i=l(new a.P,(0,a.h)(),Number.NaN);return this._ExecuteBruteForce(e,t,r,i)<=this.m_maxDistance}progress_(e=!1){}_ExecuteBruteForce(e,t,n,r){switch(e.getGeometryType()){case i.G.enumPoint:return this.distancePointGeometry(e,t,n,r);case i.G.enumMultiPoint:return this.distanceMultipointGeometry(e,t,n,r);case i.G.enumEnvelope:return this.distanceEnvelopeGeometry(e,t,n,r);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathGeometry(e,t,n,r);default:return Number.NaN}}distancePointGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointPoint(e,t,n,r);case i.G.enumMultiPoint:return this.distancePointMultipoint(e,t,n,r);case i.G.enumPolyline:case i.G.enumPolygon:return this.distancePointMultipath(e,t,n,r);case i.G.enumEnvelope:return this.distancePointEnvelope(e,t,n,r);default:return Number.NaN}}distancePointPoint(e,t,n,r){const i=e.getXY(),s=t.getXY();return h(n,i,0,0),h(r,s,0,0),Math.sqrt(a.P.sqrDistance(i,s))}distancePointMultipoint(e,t,n,r){const i=e.getXY();let s=this.m_maxSqrDistance,o=s,m=!1;const u=t.getPointCount(),c=new a.P;for(let e=0;e<u;++e)if(t.queryXY(e,c),o=a.P.sqrDistance(i,c),this.m_bIsNearCalc){if(o<=s)return 0}else if(!(o>s)&&(!m&&o===s||o<s)&&(s=o,h(n,i,0,0),h(r,c,e,0),m=!0,0===s))return 0;return m?Math.sqrt(s):Number.POSITIVE_INFINITY}distancePointMultipath(e,t,n,r){const s=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),u=e.getXY();if(!s&&t.getGeometryType()===i.G.enumPolygon&&0!==(0,o.g)(t,u,0))return h(n,u,0,0),h(r,u,-1,Number.NaN),0;t.getImpl().getAccelerators();let c=this.m_maxSqrDistance,l=c,g=-1;const y=new m.J,p=t.querySegmentIterator();let f=!1;for(;p.nextPath();)for(;p.hasNextSegment();){const e=p.nextSegment();e.queryEnvelope(y);const t=y.sqrDistance(u);if(t>c)continue;if(!this.m_bIsNearCalc&&f&&t===c)continue;g=e.getClosestCoordinate(u,!1);const i=e.getCoord2D(g);if(l=a.P.sqrDistance(u,i),this.m_bIsNearCalc){if(l<=c)return 0}else if(!(l>c)&&(!f||l<c)&&(c=l,h(n,u,0,0),h(r,i,p.getStartPointIndex(),g),f=!0,0===c))return 0}return f?Math.sqrt(c):Number.POSITIVE_INFINITY}distancePointEnvelope(e,t,n,r){const i=e.getXY();h(n,i,0,0),h(r,i,-1,Number.NaN);const s=t.asEnvelope2D();return s.contains(i)?0:Math.sqrt(s.sqrDistance(i,r.outPoint))}distanceMultipointGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipoint(t,e,r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:return this.distanceMultipointMultipoint(e,t,n,r,1,1);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipointMultipath(e,t,n,r);case i.G.enumEnvelope:return this.distanceMultipointMultipath(e,D(t),n,r);default:return Number.NaN}}distanceMultipointMultipoint(e,t,n,i,s,o){const m={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===s&&1===o){const r=Math.trunc((0,a.c)(Math.sqrt(e.getPointCount())+1,1,(0,a.i)())),s=Math.trunc((0,a.c)(Math.sqrt(t.getPointCount())+1,1,(0,a.i)()));if((r>=4||s>=4)&&this.distanceMultipointMultipoint(e,t,n,i,r,s)<=this.m_maxSqrDistance)return 0}let u=this.m_maxSqrDistance;const c=[e],l=[t],g=this.swapGeometriesIfBGtA(c,l);g&&(this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),o=(0,a.b)(s,s=o),p(n,i)),(0,r.b)(m,(0,a.f)((()=>{p(n,i),this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!g),!1);const y=c[0].getImpl(),f=l[0].getImpl(),_=y.getPointCount(),v=f.getPointCount(),D=v>1;let N=!1;const P=new a.P,x=new a.P;for(let e=0;e<_;e+=s){if(y.queryXY(e,P),D){const e=this.m_env2DgeometryB.sqrDistance(P);if(this.m_bIsNearCalc){if(e>u)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(P)<=u)return 0}else if(e>=u)continue}for(let t=0;t<v;t+=o){f.queryXY(t,x);const r=a.P.sqrDistance(P,x);if(this.m_bIsNearCalc){if(r<=u)return 0}else if(!(r>u||N&&r===u)&&(!N||r<u)&&(h(n,P,e,0),h(i,x,t,0),N=!0,u=r,0===u))return N?Math.sqrt(u):Number.POSITIVE_INFINITY}}return N?Math.sqrt(u):Number.POSITIVE_INFINITY}catch(e){m.error=e,m.hasError=!0}finally{(0,r.c)(m)}}distanceMultipointMultipath(e,t,n,r){let s=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&t.getGeometryType()===i.G.enumPolygon;const u=t.querySegmentIterator();u.stripAttributes();const c=new m.J,l=new a.P;let g=this.m_maxSqrDistance;const y=e.getImpl(),p=y.getPointCount(),f=p>1;let _=!1;for(;u.nextPath();)for(;u.hasNextSegment();){const e=u.nextSegment();if(e.queryLooseEnvelope(c),f){const e=c.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(e>g)continue}else if(e>g||_&&e===g)continue}for(let i=0;i<p;i++){if(y.queryXY(i,l),s&&0!==(0,o.g)(t,l,0))return h(n,l,-1,Number.NaN),h(r,l,i,0),0;{const e=c.sqrDistance(l);if(this.m_bIsNearCalc){if(e>g)continue}else if(e>g)continue}const a=e.getClosestCoordinate(l,!1),m=e.getCoord2D(a);l.subThis(m);const p=l.sqrLength();if(this.m_bIsNearCalc){if(p<=g)return 0}else if(!(p>g)&&(!_||p<g)&&(g=p,h(n,y.getXY(i),i,0),h(r,m,u.getStartPointIndex(),a),_=!0,0===g))return 0}s=!1}return _?Math.sqrt(g):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointEnvelope(t,e,r,n);case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,D(e),r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(D(e),t,n,r);case i.G.enumEnvelope:return this.distanceEnvelopeEnvelope(e,t,n,r);default:return Number.NaN}}distanceEnvelopeEnvelope(e,t,n,r){n.t=Number.NaN,n.index=-1,r.t=Number.NaN,r.index=-1;const i=e.asEnvelope2D(),s=t.asEnvelope2D();return Math.sqrt(i.sqrDistanceEnvelope(s,n.outPoint,r.outPoint))}distanceMultipathGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipath(t,e,r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,e,r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(e,t,n,r);case i.G.enumEnvelope:return this.distanceMultipathMultipath(e,D(t),n,r);default:return Number.NaN}}distanceMultipathMultipath(e,t,n,i){const o={stack:[],error:void 0,hasError:!1};try{const u=[e],l=[t],h=this.swapGeometriesIfAGtB(u,l);h&&(this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),p(n,i)),(0,r.b)(o,(0,a.f)((()=>{p(n,i),this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!h),!1);const v=u[0],D=l[0],N=v.querySegmentIterator();N.stripAttributes();const P=D.querySegmentIterator();if(P.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const e=Math.trunc((0,a.c)(Math.sqrt(v.getPointCount())+1,1,(0,a.i)())),t=Math.trunc((0,a.c)(Math.sqrt(v.getPointCount())+1,1,(0,a.i)()));if(this.distanceMultipointMultipoint(v,D,n,i,e,t)<=this.m_maxSqrDistance)return 0}if(this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const e=c(),t=c();if(f(v,D,N,P,e,t))return g(n,e),g(i,t),0}const x=_(v),I=[],G=new s.S,d=new m.J,M=new m.J,b=new m.J;let E=this.m_maxSqrDistance,q=!0,C=!1;for(let e=0,t=x.length;e<t;++e){v.querySegment(x[e],G,!0);const t=G.get();if(t.queryEnvelope(d),!(d.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>E)){if(this.m_bIsNearCalc&&d.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=E)return 0;for(;P.nextPath();){if(this.progress_(),q)D.queryPathEnvelope(P.getPathIndex(),b),I[P.getPathIndex()]=b.clone();else if(d.sqrDistanceEnvelope(I[P.getPathIndex()],null,null)>E)continue;for(;P.hasNextSegment();){const r=P.nextSegment();if(r.queryEnvelope(M),d.sqrDistanceEnvelope(M,null,null)<=E){const s=!d.isIntersecting(M),o=[0],a=[0];let m=t.distance(r,s,o,a);if(m*=m,this.m_bIsNearCalc&&m<=this.m_maxSqrDistance)return 0;if(m<E||m===E&&x[e]<n.index){if(C=!0,y(n,t,x[e],o[0]),y(i,r,P.getStartPointIndex(),a[0]),0===m)return 0;E=m}}}}P.resetToFirstPath(),q=!1}}return C?Math.sqrt(E):Number.POSITIVE_INFINITY}catch(e){o.error=e,o.hasError=!0}finally{(0,r.c)(o)}}swapGeometriesIfAGtB(e,t){return(0,i.v)(e[0])>(0,i.v)(t[0])&&(t[0]=(0,a.b)(e[0],e[0]=t[0]),!0)}swapGeometriesIfBGtA(e,t){return this.swapGeometriesIfAGtB(t,e)}}},76061:(e,t,n)=>{n.d(t,{G:()=>r,S:()=>i});class r{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class i extends r{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},16346:(e,t,n)=>{n.d(t,{d:()=>c,e:()=>m,s:()=>u});var r=n(55537),i=n(16141),s=n(83047),o=n(78125);const a=new class{getOperatorType(){return 10100}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n){return this.executeEx(e,t,n,null,null,Number.NaN)}executeEx(e,t,n,s,o,a){if(e.isEmpty()||t.isEmpty())return Number.NaN;(0,r.d)(e),(0,r.d)(t);const m=e,u=t;Number.isNaN(a)&&(a=Number.POSITIVE_INFINITY);const c=new i.D(a,n).calculate(m,u,s,o);return Number.isFinite(c)?c:Number.NaN}};function m(e,t,n={}){const{unit:r}=n;let i=a.execute((0,o.fromGeometry)(e),(0,o.fromGeometry)(t),null);if(i&&r){const t=(0,o.getSpatialReference)(e);i=(0,s.PQ)(i,t,r)}return i}const u=a.supportsCurves(),c=Object.freeze(Object.defineProperty({__proto__:null,execute:m,supportsCurves:u},Symbol.toStringTag,{value:"Module"}))},77038:(e,t,n)=>{n.r(t),n.d(t,{execute:()=>r.e,supportsCurves:()=>r.s});var r=n(16346);n(83047),n(78125)},78125:(e,t,n)=>{n.r(t),n.d(t,{fromExtent:()=>D,fromGeometry:()=>v,fromMultipoint:()=>N,fromPoint:()=>P,fromPolygon:()=>x,fromPolyline:()=>I,fromSpatialReference:()=>G,getSpatialReference:()=>_,toExtent:()=>M,toGeometry:()=>d,toMultipoint:()=>b,toPoint:()=>E,toPolygon:()=>q,toPolyline:()=>C});var r=n(83661),i=(n(79187),n(55537)),s=n(95213),o=n(35368),a=n(12189),m=n(5443),u=n(48526),c=n(86738),l=n(39829),h=n(82799),g=(n(90293),n(83299));const y="_gxVersion",p=2,f=1;function _(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function v(e){switch(e.type){case"point":return P(e);case"multipoint":return N(e);case"polyline":return I(e);case"polygon":return x(e);case"extent":return D(e);default:throw new Error(`Unsupported geometry type: ${e.type}`)}}function D(e){if(!e.getCacheValue(y)){const t=new s.E;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(p,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(f,0,e.zmin,e.zmax),e.setCacheValue(y,t)}return e.getCacheValue(y)}function N(e){if(!e.getCacheValue(y)){const t=new o.M,n=new s.P,r=e.points,i=e.hasM,a=e.hasZ,m=a?3:2;for(let e=0,s=r.length;e<s;e++){const s=r[e];n.setXYCoords(s[0],s[1]),a&&n.setZ(s[2]??0),i&&n.setM(s[m]??NaN),t.add(n)}e.setCacheValue(y,t)}return e.getCacheValue(y)}function P(e){if(!e.getCacheValue(y)){const t=new s.P;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(y,t)}return e.getCacheValue(y)}function x(e){if(!e.getCacheValue(y)){const{curveRings:t,hasM:n,hasZ:r,rings:i}=e,s=(0,g.fromGeometryToGXGeometry)({curveRings:t,hasM:n,hasZ:r,rings:i});e.setCacheValue(y,s)}return e.getCacheValue(y)}function I(e){if(!e.getCacheValue(y)){const{curvePaths:t,hasM:n,hasZ:r,paths:i}=e,s=(0,g.fromGeometryToGXGeometry)({curvePaths:t,hasM:n,hasZ:r,paths:i});e.setCacheValue(y,s)}return e.getCacheValue(y)}function G(e){if(e.wkid)return(0,a.c)(e.wkid);const t=e.wkt2||e.wkt;return t?(0,a.a)(t):null}function d(e,t){if(e)switch(e.getGeometryType()){case i.G.enumPoint:return E(e,t);case i.G.enumEnvelope:return M(e,t);case i.G.enumMultiPoint:return b(e,t);case i.G.enumPolyline:return C(e,t);case i.G.enumPolygon:return q(e,t)}return null}function M(e,t){if(e.isEmpty())return null;const n=new m.A({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),r=e.getDescription();if(r.hasM()){const t=e.queryInterval(p,0);n.mmin=t.vmin,n.mmax=t.vmax}if(r.hasZ()){const t=e.queryInterval(f,0);n.zmin=t.vmin,n.zmax=t.vmax}return n.setCacheValue(y,e),n}function b(e,t){if(e.isEmpty())return null;const n=e.getDescription(),r=n.hasM(),i=n.hasZ(),o=[],a=new s.P;for(let t=0,n=e.getPointCount();t<n;t++){e.getPointByVal(t,a);const n=[a.getX(),a.getY()];i&&n.push(a.getZ()),r&&n.push(a.getM()),o.push(n)}const m=new u.A({hasM:r,hasZ:i,points:o,spatialReference:t});return m.setCacheValue(y,e),m}function E(e,t){if(e instanceof r.P)return new c.A({x:e.x,y:e.y,spatialReference:t});if(e.isEmpty())return null;const n=new c.A({x:e.getX(),y:e.getY(),spatialReference:t}),i=e.getDescription();return i.hasM()&&(n.m=e.getM()),i.hasZ()&&(n.z=e.getZ()),n.setCacheValue(y,e),n}function q(e,t){if(e.isEmpty())return null;const n=l.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return n.setCacheValue(y,e),n}function C(e,t){if(e.isEmpty())return null;const n=h.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return n.setCacheValue(y,e),n}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3169,6061,8125,9202],{35274:(e,t,n)=>{n.d(t,{D:()=>N,m:()=>c,s:()=>_,w:()=>f});var r=n(90237),i=n(55537),s=n(35368),o=n(12189),a=n(83661),m=n(79187),u=n(95213);function c(){return{outPoint:new a.P,index:-1,t:Number.NaN}}function l(e,t,n){return{outPoint:e.clone(),index:t,t:n}}function h(e,t,n,r){e.outPoint.assign(t),e.index=n,e.t=r}function g(e,t){e.outPoint.assign(t.outPoint),e.index=t.index,e.t=t.t}function y(e,t,n,r){e.index=n,e.t=r,t.queryCoord2D(e.t,e.outPoint)}function p(e,t){const n=c();g(n,e),g(e,t),g(t,n)}function f(e,t,n,r,s,a){if(e.getGeometryType()===i.G.enumPolygon){for(;r.nextPath();)if(r.hasNextSegment()){const t=r.nextSegment();if(0!==(0,o.g)(e,t.getEndXY(),0))return h(s,t.getEndXY(),-1,Number.NaN),h(a,t.getEndXY(),-1,Number.NaN),!0}r.resetToFirstPath()}if(t.getGeometryType()===i.G.enumPolygon){for(;n.nextPath();)if(n.hasNextSegment()){const e=n.nextSegment();if(0!==(0,o.g)(t,e.getEndXY(),0))return h(s,e.getEndXY(),-1,Number.NaN),h(a,e.getEndXY(),-1,Number.NaN),!0}n.resetToFirstPath()}return!1}function _(e){const t=e.getPathCount(),n=(0,a.d)(e.getSegmentCount(),0);let r=0;for(let i=0;i<t;++i){const t=r+e.getSegmentCountPath(i);for(let s=r,o=e.getPathStart(i);s<t;++s,++o)n[s]=o;r=t}return(0,s.s)(e.getPointCount(),n),n}function v(e,t){return!!Number.isNaN(t)||e<=t}function D(e){const t=new s.a;return t.addEnvelope(e,!1),t}class N{constructor(e,t){if(this.m_env2DgeometryA=null,this.m_env2DgeometryB=null,this.m_progressCounter=0,this.m_progressTracker=t,this.m_maxSqrDistance=e*e,this.m_maxDistance=e,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=e,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let e=Math.sqrt(this.m_maxSqrDistance);for(;e<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,e=Math.sqrt(this.m_maxSqrDistance)}}calculate(e,t,n,r){if((e.getGeometryType()!==u.P.type||t.getGeometryType()!==u.P.type)&&(this.m_env2DgeometryA=new m.J,this.m_env2DgeometryB=new m.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!v(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance)))return Number.POSITIVE_INFINITY;const i=l(new a.P,(0,a.j)(),Number.NaN),s=l(new a.P,(0,a.j)(),Number.NaN),o=this._ExecuteBruteForce(e,t,i,s);return v(o,this.m_maxDistance)?(null!==n&&g(n,i),null!==r&&g(r,s),o):Number.POSITIVE_INFINITY}isNear(e,t){if(this.m_bIsNearCalc=!0,e.isEmpty()||t.isEmpty())return!1;if(e===t)return!0;let n=!0;if(e.getGeometryType()!==u.P.type&&e.getGeometryType()!==u.E.type||t.getGeometryType()!==u.P.type&&t.getGeometryType()!==u.E.type||(n=!1),n){if(this.m_env2DgeometryA=new m.J,this.m_env2DgeometryB=new m.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!(this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)>this.m_maxSqrDistance))return!0;if(this.m_env2DgeometryA.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>this.m_maxSqrDistance)return!1}const r=l(new a.P,(0,a.j)(),Number.NaN),i=l(new a.P,(0,a.j)(),Number.NaN);return this._ExecuteBruteForce(e,t,r,i)<=this.m_maxDistance}progress_(e=!1){}_ExecuteBruteForce(e,t,n,r){switch(e.getGeometryType()){case i.G.enumPoint:return this.distancePointGeometry(e,t,n,r);case i.G.enumMultiPoint:return this.distanceMultipointGeometry(e,t,n,r);case i.G.enumEnvelope:return this.distanceEnvelopeGeometry(e,t,n,r);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathGeometry(e,t,n,r);default:return Number.NaN}}distancePointGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointPoint(e,t,n,r);case i.G.enumMultiPoint:return this.distancePointMultipoint(e,t,n,r);case i.G.enumPolyline:case i.G.enumPolygon:return this.distancePointMultipath(e,t,n,r);case i.G.enumEnvelope:return this.distancePointEnvelope(e,t,n,r);default:return Number.NaN}}distancePointPoint(e,t,n,r){const i=e.getXY(),s=t.getXY();return h(n,i,0,0),h(r,s,0,0),Math.sqrt(a.P.sqrDistance(i,s))}distancePointMultipoint(e,t,n,r){const i=e.getXY();let s=this.m_maxSqrDistance,o=s,m=!1;const u=t.getPointCount(),c=new a.P;for(let e=0;e<u;++e)if(t.queryXY(e,c),o=a.P.sqrDistance(i,c),this.m_bIsNearCalc){if(o<=s)return 0}else if(!(o>s)&&(!m&&o===s||o<s)&&(s=o,h(n,i,0,0),h(r,c,e,0),m=!0,0===s))return 0;return m?Math.sqrt(s):Number.POSITIVE_INFINITY}distancePointMultipath(e,t,n,r){const s=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),u=e.getXY();if(!s&&t.getGeometryType()===i.G.enumPolygon&&0!==(0,o.g)(t,u,0))return h(n,u,0,0),h(r,u,-1,Number.NaN),0;t.getImpl().getAccelerators();let c=this.m_maxSqrDistance,l=c,g=-1;const y=new m.J,p=t.querySegmentIterator();let f=!1;for(;p.nextPath();)for(;p.hasNextSegment();){const e=p.nextSegment();e.queryEnvelope(y);const t=y.sqrDistance(u);if(t>c)continue;if(!this.m_bIsNearCalc&&f&&t===c)continue;g=e.getClosestCoordinate(u,!1);const i=e.getCoord2D(g);if(l=a.P.sqrDistance(u,i),this.m_bIsNearCalc){if(l<=c)return 0}else if(!(l>c)&&(!f||l<c)&&(c=l,h(n,u,0,0),h(r,i,p.getStartPointIndex(),g),f=!0,0===c))return 0}return f?Math.sqrt(c):Number.POSITIVE_INFINITY}distancePointEnvelope(e,t,n,r){const i=e.getXY();h(n,i,0,0),h(r,i,-1,Number.NaN);const s=t.asEnvelope2D();return s.contains(i)?0:Math.sqrt(s.sqrDistance(i,r.outPoint))}distanceMultipointGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipoint(t,e,r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:return this.distanceMultipointMultipoint(e,t,n,r,1,1);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipointMultipath(e,t,n,r);case i.G.enumEnvelope:return this.distanceMultipointMultipath(e,D(t),n,r);default:return Number.NaN}}distanceMultipointMultipoint(e,t,n,i,s,o){const m={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===s&&1===o){const r=Math.trunc((0,a.c)(Math.sqrt(e.getPointCount())+1,1,(0,a.i)())),s=Math.trunc((0,a.c)(Math.sqrt(t.getPointCount())+1,1,(0,a.i)()));if((r>=4||s>=4)&&this.distanceMultipointMultipoint(e,t,n,i,r,s)<=this.m_maxSqrDistance)return 0}let u=this.m_maxSqrDistance;const c=[e],l=[t],g=this.swapGeometriesIfBGtA(c,l);g&&(this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),o=(0,a.b)(s,s=o),p(n,i)),(0,r.b)(m,(0,a.h)((()=>{p(n,i),this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!g),!1);const y=c[0].getImpl(),f=l[0].getImpl(),_=y.getPointCount(),v=f.getPointCount(),D=v>1;let N=!1;const P=new a.P,x=new a.P;for(let e=0;e<_;e+=s){if(y.queryXY(e,P),D){const e=this.m_env2DgeometryB.sqrDistance(P);if(this.m_bIsNearCalc){if(e>u)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(P)<=u)return 0}else if(e>=u)continue}for(let t=0;t<v;t+=o){f.queryXY(t,x);const r=a.P.sqrDistance(P,x);if(this.m_bIsNearCalc){if(r<=u)return 0}else if(!(r>u||N&&r===u)&&(!N||r<u)&&(h(n,P,e,0),h(i,x,t,0),N=!0,u=r,0===u))return N?Math.sqrt(u):Number.POSITIVE_INFINITY}}return N?Math.sqrt(u):Number.POSITIVE_INFINITY}catch(e){m.error=e,m.hasError=!0}finally{(0,r.c)(m)}}distanceMultipointMultipath(e,t,n,r){let s=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&t.getGeometryType()===i.G.enumPolygon;const u=t.querySegmentIterator();u.stripAttributes();const c=new m.J,l=new a.P;let g=this.m_maxSqrDistance;const y=e.getImpl(),p=y.getPointCount(),f=p>1;let _=!1;for(;u.nextPath();)for(;u.hasNextSegment();){const e=u.nextSegment();if(e.queryLooseEnvelope(c),f){const e=c.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(e>g)continue}else if(e>g||_&&e===g)continue}for(let i=0;i<p;i++){if(y.queryXY(i,l),s&&0!==(0,o.g)(t,l,0))return h(n,l,-1,Number.NaN),h(r,l,i,0),0;{const e=c.sqrDistance(l);if(this.m_bIsNearCalc){if(e>g)continue}else if(e>g)continue}const a=e.getClosestCoordinate(l,!1),m=e.getCoord2D(a);l.subThis(m);const p=l.sqrLength();if(this.m_bIsNearCalc){if(p<=g)return 0}else if(!(p>g)&&(!_||p<g)&&(g=p,h(n,y.getXY(i),i,0),h(r,m,u.getStartPointIndex(),a),_=!0,0===g))return 0}s=!1}return _?Math.sqrt(g):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointEnvelope(t,e,r,n);case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,D(e),r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(D(e),t,n,r);case i.G.enumEnvelope:return this.distanceEnvelopeEnvelope(e,t,n,r);default:return Number.NaN}}distanceEnvelopeEnvelope(e,t,n,r){n.t=Number.NaN,n.index=-1,r.t=Number.NaN,r.index=-1;const i=e.asEnvelope2D(),s=t.asEnvelope2D();return Math.sqrt(i.sqrDistanceEnvelope(s,n.outPoint,r.outPoint))}distanceMultipathGeometry(e,t,n,r){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipath(t,e,r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,e,r,n);return this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(e,t,n,r);case i.G.enumEnvelope:return this.distanceMultipathMultipath(e,D(t),n,r);default:return Number.NaN}}distanceMultipathMultipath(e,t,n,i){const o={stack:[],error:void 0,hasError:!1};try{const u=[e],l=[t],h=this.swapGeometriesIfAGtB(u,l);h&&(this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),p(n,i)),(0,r.b)(o,(0,a.h)((()=>{p(n,i),this.m_env2DgeometryB=(0,a.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!h),!1);const v=u[0],D=l[0],N=v.querySegmentIterator();N.stripAttributes();const P=D.querySegmentIterator();if(P.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const e=Math.trunc((0,a.c)(Math.sqrt(v.getPointCount())+1,1,(0,a.i)())),t=Math.trunc((0,a.c)(Math.sqrt(v.getPointCount())+1,1,(0,a.i)()));if(this.distanceMultipointMultipoint(v,D,n,i,e,t)<=this.m_maxSqrDistance)return 0}if(this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const e=c(),t=c();if(f(v,D,N,P,e,t))return g(n,e),g(i,t),0}const x=_(v),I=[],d=new s.S,G=new m.J,M=new m.J,b=new m.J;let E=this.m_maxSqrDistance,q=!0,C=!1;for(let e=0,t=x.length;e<t;++e){v.querySegment(x[e],d,!0);const t=d.get();if(t.queryEnvelope(G),!(G.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>E)){if(this.m_bIsNearCalc&&G.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=E)return 0;for(;P.nextPath();){if(this.progress_(),q)D.queryPathEnvelope(P.getPathIndex(),b),I[P.getPathIndex()]=b.clone();else if(G.sqrDistanceEnvelope(I[P.getPathIndex()],null,null)>E)continue;for(;P.hasNextSegment();){const r=P.nextSegment();if(r.queryEnvelope(M),G.sqrDistanceEnvelope(M,null,null)<=E){const s=!G.isIntersecting(M),o=[0],a=[0];let m=t.distance(r,s,o,a);if(m*=m,this.m_bIsNearCalc&&m<=this.m_maxSqrDistance)return 0;if(m<E||m===E&&x[e]<n.index){if(C=!0,y(n,t,x[e],o[0]),y(i,r,P.getStartPointIndex(),a[0]),0===m)return 0;E=m}}}}P.resetToFirstPath(),q=!1}}return C?Math.sqrt(E):Number.POSITIVE_INFINITY}catch(e){o.error=e,o.hasError=!0}finally{(0,r.c)(o)}}swapGeometriesIfAGtB(e,t){return(0,i.v)(e[0])>(0,i.v)(t[0])&&(t[0]=(0,a.b)(e[0],e[0]=t[0]),!0)}swapGeometriesIfBGtA(e,t){return this.swapGeometriesIfAGtB(t,e)}}},76061:(e,t,n)=>{n.d(t,{G:()=>r,S:()=>i});class r{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class i extends r{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},16346:(e,t,n)=>{n.d(t,{d:()=>c,e:()=>m,s:()=>u});var r=n(55537),i=n(35274),s=n(83047),o=n(78125);const a=new class{getOperatorType(){return 10100}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n){return this.executeEx(e,t,n,null,null,Number.NaN)}executeEx(e,t,n,s,o,a){if(e.isEmpty()||t.isEmpty())return Number.NaN;(0,r.d)(e),(0,r.d)(t);const m=e,u=t;Number.isNaN(a)&&(a=Number.POSITIVE_INFINITY);const c=new i.D(a,n).calculate(m,u,s,o);return Number.isFinite(c)?c:Number.NaN}};function m(e,t,n={}){const{unit:r}=n;let i=a.execute((0,o.fromGeometry)(e),(0,o.fromGeometry)(t),null);if(i&&r){const t=(0,o.getSpatialReference)(e);i=(0,s.PQ)(i,t,r)}return i}const u=a.supportsCurves(),c=Object.freeze(Object.defineProperty({__proto__:null,execute:m,supportsCurves:u},Symbol.toStringTag,{value:"Module"}))},77038:(e,t,n)=>{n.r(t),n.d(t,{execute:()=>r.e,supportsCurves:()=>r.s});var r=n(16346);n(83047),n(78125)},78125:(e,t,n)=>{n.r(t),n.d(t,{fromExtent:()=>D,fromGeometry:()=>v,fromMultipoint:()=>N,fromPoint:()=>P,fromPolygon:()=>x,fromPolyline:()=>I,fromSpatialReference:()=>d,getSpatialReference:()=>_,toExtent:()=>M,toGeometry:()=>G,toMultipoint:()=>b,toPoint:()=>E,toPolygon:()=>q,toPolyline:()=>C});var r=n(83661),i=(n(79187),n(55537)),s=n(95213),o=n(35368),a=n(12189),m=n(5443),u=n(48526),c=n(86738),l=n(39829),h=n(82799),g=(n(90293),n(83299));const y="_gxVersion",p=2,f=1;function _(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function v(e){switch(e.type){case"point":return P(e);case"multipoint":return N(e);case"polyline":return I(e);case"polygon":return x(e);case"extent":return D(e);default:throw new Error(`Unsupported geometry type: ${e.type}`)}}function D(e){if(!e.getCacheValue(y)){const t=new s.E;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(p,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(f,0,e.zmin,e.zmax),e.setCacheValue(y,t)}return e.getCacheValue(y)}function N(e){if(!e.getCacheValue(y)){const t=new o.M,n=new s.P,r=e.points,i=e.hasM,a=e.hasZ,m=a?3:2;for(let e=0,s=r.length;e<s;e++){const s=r[e];n.setXYCoords(s[0],s[1]),a&&n.setZ(s[2]??0),i&&n.setM(s[m]??NaN),t.add(n)}e.setCacheValue(y,t)}return e.getCacheValue(y)}function P(e){if(!e.getCacheValue(y)){const t=new s.P;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(y,t)}return e.getCacheValue(y)}function x(e){if(!e.getCacheValue(y)){const{curveRings:t,hasM:n,hasZ:r,rings:i}=e,s=(0,g.fromGeometryToGXGeometry)({curveRings:t,hasM:n,hasZ:r,rings:i});e.setCacheValue(y,s)}return e.getCacheValue(y)}function I(e){if(!e.getCacheValue(y)){const{curvePaths:t,hasM:n,hasZ:r,paths:i}=e,s=(0,g.fromGeometryToGXGeometry)({curvePaths:t,hasM:n,hasZ:r,paths:i});e.setCacheValue(y,s)}return e.getCacheValue(y)}function d(e){if(e.wkid)return(0,a.c)(e.wkid);const t=e.wkt2||e.wkt;return t?(0,a.a)(t):null}function G(e,t){if(e)switch(e.getGeometryType()){case i.G.enumPoint:return E(e,t);case i.G.enumEnvelope:return M(e,t);case i.G.enumMultiPoint:return b(e,t);case i.G.enumPolyline:return C(e,t);case i.G.enumPolygon:return q(e,t)}return null}function M(e,t){if(e.isEmpty())return null;const n=new m.A({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),r=e.getDescription();if(r.hasM()){const t=e.queryInterval(p,0);n.mmin=t.vmin,n.mmax=t.vmax}if(r.hasZ()){const t=e.queryInterval(f,0);n.zmin=t.vmin,n.zmax=t.vmax}return n.setCacheValue(y,e),n}function b(e,t){if(e.isEmpty())return null;const n=e.getDescription(),r=n.hasM(),i=n.hasZ(),o=[],a=new s.P;for(let t=0,n=e.getPointCount();t<n;t++){e.getPointByVal(t,a);const n=[a.getX(),a.getY()];i&&n.push(a.getZ()),r&&n.push(a.getM()),o.push(n)}const m=new u.A({hasM:r,hasZ:i,points:o,spatialReference:t});return m.setCacheValue(y,e),m}function E(e,t){if(e instanceof r.P)return new c.A({x:e.x,y:e.y,spatialReference:t});if(e.isEmpty())return null;const n=new c.A({x:e.getX(),y:e.getY(),spatialReference:t}),i=e.getDescription();return i.hasM()&&(n.m=e.getM()),i.hasZ()&&(n.z=e.getZ()),n.setCacheValue(y,e),n}function q(e,t){if(e.isEmpty())return null;const n=l.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return n.setCacheValue(y,e),n}function C(e,t){if(e.isEmpty())return null;const n=h.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return n.setCacheValue(y,e),n}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1088,5008,6061],{35274:(e,t,n)=>{n.d(t,{D:()=>E,m:()=>m,s:()=>d,w:()=>y});var s=n(90237),i=n(55537),r=n(35368),a=n(12189),o=n(83661),_=n(79187),h=n(95213);function m(){return{outPoint:new o.P,index:-1,t:Number.NaN}}function u(e,t,n){return{outPoint:e.clone(),index:t,t:n}}function c(e,t,n,s){e.outPoint.assign(t),e.index=n,e.t=s}function l(e,t){e.outPoint.assign(t.outPoint),e.index=t.index,e.t=t.t}function g(e,t,n,s){e.index=n,e.t=s,t.queryCoord2D(e.t,e.outPoint)}function p(e,t){const n=m();l(n,e),l(e,t),l(t,n)}function y(e,t,n,s,r,o){if(e.getGeometryType()===i.G.enumPolygon){for(;s.nextPath();)if(s.hasNextSegment()){const t=s.nextSegment();if(0!==(0,a.g)(e,t.getEndXY(),0))return c(r,t.getEndXY(),-1,Number.NaN),c(o,t.getEndXY(),-1,Number.NaN),!0}s.resetToFirstPath()}if(t.getGeometryType()===i.G.enumPolygon){for(;n.nextPath();)if(n.hasNextSegment()){const e=n.nextSegment();if(0!==(0,a.g)(t,e.getEndXY(),0))return c(r,e.getEndXY(),-1,Number.NaN),c(o,e.getEndXY(),-1,Number.NaN),!0}n.resetToFirstPath()}return!1}function d(e){const t=e.getPathCount(),n=(0,o.d)(e.getSegmentCount(),0);let s=0;for(let i=0;i<t;++i){const t=s+e.getSegmentCountPath(i);for(let r=s,a=e.getPathStart(i);r<t;++r,++a)n[r]=a;s=t}return(0,r.s)(e.getPointCount(),n),n}function P(e,t){return!!Number.isNaN(t)||e<=t}function f(e){const t=new r.a;return t.addEnvelope(e,!1),t}class E{constructor(e,t){if(this.m_env2DgeometryA=null,this.m_env2DgeometryB=null,this.m_progressCounter=0,this.m_progressTracker=t,this.m_maxSqrDistance=e*e,this.m_maxDistance=e,this.m_bIsNearCalc=!1,Number.isNaN(this.m_maxDistance)?this.m_maxDistance=Number.POSITIVE_INFINITY:this.m_maxDistance=e,this.m_maxSqrDistance=this.m_maxDistance*this.m_maxDistance,Number.isFinite(this.m_maxSqrDistance)){let e=Math.sqrt(this.m_maxSqrDistance);for(;e<this.m_maxDistance;)this.m_maxSqrDistance*=1+Number.EPSILON,e=Math.sqrt(this.m_maxSqrDistance)}}calculate(e,t,n,s){if((e.getGeometryType()!==h.P.type||t.getGeometryType()!==h.P.type)&&(this.m_env2DgeometryA=new _.J,this.m_env2DgeometryB=new _.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!P(this.m_env2DgeometryA.distanceFromEnvelope(this.m_env2DgeometryB),this.m_maxDistance)))return Number.POSITIVE_INFINITY;const i=u(new o.P,(0,o.j)(),Number.NaN),r=u(new o.P,(0,o.j)(),Number.NaN),a=this._ExecuteBruteForce(e,t,i,r);return P(a,this.m_maxDistance)?(null!==n&&l(n,i),null!==s&&l(s,r),a):Number.POSITIVE_INFINITY}isNear(e,t){if(this.m_bIsNearCalc=!0,e.isEmpty()||t.isEmpty())return!1;if(e===t)return!0;let n=!0;if(e.getGeometryType()!==h.P.type&&e.getGeometryType()!==h.E.type||t.getGeometryType()!==h.P.type&&t.getGeometryType()!==h.E.type||(n=!1),n){if(this.m_env2DgeometryA=new _.J,this.m_env2DgeometryB=new _.J,e.queryEnvelope(this.m_env2DgeometryA),t.queryEnvelope(this.m_env2DgeometryB),!(this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)>this.m_maxSqrDistance))return!0;if(this.m_env2DgeometryA.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>this.m_maxSqrDistance)return!1}const s=u(new o.P,(0,o.j)(),Number.NaN),i=u(new o.P,(0,o.j)(),Number.NaN);return this._ExecuteBruteForce(e,t,s,i)<=this.m_maxDistance}progress_(e=!1){}_ExecuteBruteForce(e,t,n,s){switch(e.getGeometryType()){case i.G.enumPoint:return this.distancePointGeometry(e,t,n,s);case i.G.enumMultiPoint:return this.distanceMultipointGeometry(e,t,n,s);case i.G.enumEnvelope:return this.distanceEnvelopeGeometry(e,t,n,s);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathGeometry(e,t,n,s);default:return Number.NaN}}distancePointGeometry(e,t,n,s){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointPoint(e,t,n,s);case i.G.enumMultiPoint:return this.distancePointMultipoint(e,t,n,s);case i.G.enumPolyline:case i.G.enumPolygon:return this.distancePointMultipath(e,t,n,s);case i.G.enumEnvelope:return this.distancePointEnvelope(e,t,n,s);default:return Number.NaN}}distancePointPoint(e,t,n,s){const i=e.getXY(),r=t.getXY();return c(n,i,0,0),c(s,r,0,0),Math.sqrt(o.P.sqrDistance(i,r))}distancePointMultipoint(e,t,n,s){const i=e.getXY();let r=this.m_maxSqrDistance,a=r,_=!1;const h=t.getPointCount(),m=new o.P;for(let e=0;e<h;++e)if(t.queryXY(e,m),a=o.P.sqrDistance(i,m),this.m_bIsNearCalc){if(a<=r)return 0}else if(!(a>r)&&(!_&&a===r||a<r)&&(r=a,c(n,i,0,0),c(s,m,e,0),_=!0,0===r))return 0;return _?Math.sqrt(r):Number.POSITIVE_INFINITY}distancePointMultipath(e,t,n,s){const r=!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB),h=e.getXY();if(!r&&t.getGeometryType()===i.G.enumPolygon&&0!==(0,a.g)(t,h,0))return c(n,h,0,0),c(s,h,-1,Number.NaN),0;t.getImpl().getAccelerators();let m=this.m_maxSqrDistance,u=m,l=-1;const g=new _.J,p=t.querySegmentIterator();let y=!1;for(;p.nextPath();)for(;p.hasNextSegment();){const e=p.nextSegment();e.queryEnvelope(g);const t=g.sqrDistance(h);if(t>m)continue;if(!this.m_bIsNearCalc&&y&&t===m)continue;l=e.getClosestCoordinate(h,!1);const i=e.getCoord2D(l);if(u=o.P.sqrDistance(h,i),this.m_bIsNearCalc){if(u<=m)return 0}else if(!(u>m)&&(!y||u<m)&&(m=u,c(n,h,0,0),c(s,i,p.getStartPointIndex(),l),y=!0,0===m))return 0}return y?Math.sqrt(m):Number.POSITIVE_INFINITY}distancePointEnvelope(e,t,n,s){const i=e.getXY();c(n,i,0,0),c(s,i,-1,Number.NaN);const r=t.asEnvelope2D();return r.contains(i)?0:Math.sqrt(r.sqrDistance(i,s.outPoint))}distanceMultipointGeometry(e,t,n,s){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipoint(t,e,s,n);return this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:return this.distanceMultipointMultipoint(e,t,n,s,1,1);case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipointMultipath(e,t,n,s);case i.G.enumEnvelope:return this.distanceMultipointMultipath(e,f(t),n,s);default:return Number.NaN}}distanceMultipointMultipoint(e,t,n,i,r,a){const _={stack:[],error:void 0,hasError:!1};try{if(this.m_bIsNearCalc&&1===r&&1===a){const s=Math.trunc((0,o.c)(Math.sqrt(e.getPointCount())+1,1,(0,o.i)())),r=Math.trunc((0,o.c)(Math.sqrt(t.getPointCount())+1,1,(0,o.i)()));if((s>=4||r>=4)&&this.distanceMultipointMultipoint(e,t,n,i,s,r)<=this.m_maxSqrDistance)return 0}let h=this.m_maxSqrDistance;const m=[e],u=[t],l=this.swapGeometriesIfBGtA(m,u);l&&(this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),a=(0,o.b)(r,r=a),p(n,i)),(0,s.b)(_,(0,o.h)((()=>{p(n,i),this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!l),!1);const g=m[0].getImpl(),y=u[0].getImpl(),d=g.getPointCount(),P=y.getPointCount(),f=P>1;let E=!1;const S=new o.P,x=new o.P;for(let e=0;e<d;e+=r){if(g.queryXY(e,S),f){const e=this.m_env2DgeometryB.sqrDistance(S);if(this.m_bIsNearCalc){if(e>h)continue;if(this.m_env2DgeometryB.sqrMaxMinDistance(S)<=h)return 0}else if(e>=h)continue}for(let t=0;t<P;t+=a){y.queryXY(t,x);const s=o.P.sqrDistance(S,x);if(this.m_bIsNearCalc){if(s<=h)return 0}else if(!(s>h||E&&s===h)&&(!E||s<h)&&(c(n,S,e,0),c(i,x,t,0),E=!0,h=s,0===h))return E?Math.sqrt(h):Number.POSITIVE_INFINITY}}return E?Math.sqrt(h):Number.POSITIVE_INFINITY}catch(e){_.error=e,_.hasError=!0}finally{(0,s.c)(_)}}distanceMultipointMultipath(e,t,n,s){let r=!!this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)&&t.getGeometryType()===i.G.enumPolygon;const h=t.querySegmentIterator();h.stripAttributes();const m=new _.J,u=new o.P;let l=this.m_maxSqrDistance;const g=e.getImpl(),p=g.getPointCount(),y=p>1;let d=!1;for(;h.nextPath();)for(;h.hasNextSegment();){const e=h.nextSegment();if(e.queryLooseEnvelope(m),y){const e=m.sqrDistanceEnvelope(this.m_env2DgeometryA,null,null);if(this.m_bIsNearCalc){if(e>l)continue}else if(e>l||d&&e===l)continue}for(let i=0;i<p;i++){if(g.queryXY(i,u),r&&0!==(0,a.g)(t,u,0))return c(n,u,-1,Number.NaN),c(s,u,i,0),0;{const e=m.sqrDistance(u);if(this.m_bIsNearCalc){if(e>l)continue}else if(e>l)continue}const o=e.getClosestCoordinate(u,!1),_=e.getCoord2D(o);u.subThis(_);const p=u.sqrLength();if(this.m_bIsNearCalc){if(p<=l)return 0}else if(!(p>l)&&(!d||p<l)&&(l=p,c(n,g.getXY(i),i,0),c(s,_,h.getStartPointIndex(),o),d=!0,0===l))return 0}r=!1}return d?Math.sqrt(l):Number.POSITIVE_INFINITY}distanceEnvelopeGeometry(e,t,n,s){switch(t.getGeometryType()){case i.G.enumPoint:return this.distancePointEnvelope(t,e,s,n);case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,f(e),s,n);return this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(f(e),t,n,s);case i.G.enumEnvelope:return this.distanceEnvelopeEnvelope(e,t,n,s);default:return Number.NaN}}distanceEnvelopeEnvelope(e,t,n,s){n.t=Number.NaN,n.index=-1,s.t=Number.NaN,s.index=-1;const i=e.asEnvelope2D(),r=t.asEnvelope2D();return Math.sqrt(i.sqrDistanceEnvelope(r,n.outPoint,s.outPoint))}distanceMultipathGeometry(e,t,n,s){switch(t.getGeometryType()){case i.G.enumPoint:{this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distancePointMultipath(t,e,s,n);return this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumMultiPoint:{this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB);const i=this.distanceMultipointMultipath(t,e,s,n);return this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),i}case i.G.enumPolyline:case i.G.enumPolygon:return this.distanceMultipathMultipath(e,t,n,s);case i.G.enumEnvelope:return this.distanceMultipathMultipath(e,f(t),n,s);default:return Number.NaN}}distanceMultipathMultipath(e,t,n,i){const a={stack:[],error:void 0,hasError:!1};try{const h=[e],u=[t],c=this.swapGeometriesIfAGtB(h,u);c&&(this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB),p(n,i)),(0,s.b)(a,(0,o.h)((()=>{p(n,i),this.m_env2DgeometryB=(0,o.b)(this.m_env2DgeometryA,this.m_env2DgeometryA=this.m_env2DgeometryB)}),!c),!1);const P=h[0],f=u[0],E=P.querySegmentIterator();E.stripAttributes();const S=f.querySegmentIterator();if(S.stripAttributes(),this.m_bIsNearCalc&&this.m_env2DgeometryA.sqrMaxMinDistanceEnvelope(this.m_env2DgeometryB)<=this.m_maxSqrDistance)return 0;if(this.m_bIsNearCalc){const e=Math.trunc((0,o.c)(Math.sqrt(P.getPointCount())+1,1,(0,o.i)())),t=Math.trunc((0,o.c)(Math.sqrt(P.getPointCount())+1,1,(0,o.i)()));if(this.distanceMultipointMultipoint(P,f,n,i,e,t)<=this.m_maxSqrDistance)return 0}if(this.m_env2DgeometryA.isIntersecting(this.m_env2DgeometryB)){const e=m(),t=m();if(y(P,f,E,S,e,t))return l(n,e),l(i,t),0}const x=d(P),N=[],v=new r.S,A=new _.J,M=new _.J,D=new _.J;let b=this.m_maxSqrDistance,C=!0,T=!1;for(let e=0,t=x.length;e<t;++e){P.querySegment(x[e],v,!0);const t=v.get();if(t.queryEnvelope(A),!(A.sqrDistanceEnvelope(this.m_env2DgeometryB,null,null)>b)){if(this.m_bIsNearCalc&&A.sqrMaxDistanceEnvelope(this.m_env2DgeometryB)<=b)return 0;for(;S.nextPath();){if(this.progress_(),C)f.queryPathEnvelope(S.getPathIndex(),D),N[S.getPathIndex()]=D.clone();else if(A.sqrDistanceEnvelope(N[S.getPathIndex()],null,null)>b)continue;for(;S.hasNextSegment();){const s=S.nextSegment();if(s.queryEnvelope(M),A.sqrDistanceEnvelope(M,null,null)<=b){const r=!A.isIntersecting(M),a=[0],o=[0];let _=t.distance(s,r,a,o);if(_*=_,this.m_bIsNearCalc&&_<=this.m_maxSqrDistance)return 0;if(_<b||_===b&&x[e]<n.index){if(T=!0,g(n,t,x[e],a[0]),g(i,s,S.getStartPointIndex(),o[0]),0===_)return 0;b=_}}}}S.resetToFirstPath(),C=!1}}return T?Math.sqrt(b):Number.POSITIVE_INFINITY}catch(e){a.error=e,a.hasError=!0}finally{(0,s.c)(a)}}swapGeometriesIfAGtB(e,t){return(0,i.v)(e[0])>(0,i.v)(t[0])&&(t[0]=(0,o.b)(e[0],e[0]=t[0]),!0)}swapGeometriesIfBGtA(e,t){return this.swapGeometriesIfAGtB(t,e)}}},85008:(e,t,n)=>{n.r(t),n.d(t,{OperatorGeodeticArea:()=>T});var s=n(55537),i=n(35368),r=n(5247),a=n(12189),o=n(83661),_=n(79187),h=n(95213),m=n(31139),u=n(47591),c=n(90237),l=n(11878);n(35274),n(76061),n(31088),Symbol.dispose;class g{constructor(e,t,n,s,i=0,r=4){this.m_ptDistFrom=new o.P,this.m_segStartPt=new o.P,this.m_segEndPt=new o.P,this.m_geodeticLength=new a.E,this.m_az12=new a.E,this.m_minGeodeticDist=new a.E,this.m_segStartPt3d=new h.h,this.m_segEndPt3d=new h.h,this.m_sr=s,this.m_distCurveType=i,this.m_segCurveType=r,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=2===this.m_sr.getCoordinateSystemType()&&this.m_sr.isPannable();const _=(0,a.G)();this.m_inputGCS.querySpheroidData(_),this.m_a=_.majorSemiAxis,this.m_eSquared=_.e2,this.setPointDistFrom(e),this.setSegmentEndPoints(t,n)}setSegmentEndPoints(e,t){this.m_segStartPt.assign(e),this.m_segEndPt.assign(t),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),2===this.m_segCurveType&&(this.m_segStartPt3d.assign((0,a.Q)(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign((0,a.Q)(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(e){this.m_ptDistFrom.assign(e),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(e){this.m_segCurveType=e}setDistanceCurveType(e){this.m_distCurveType=e}makeFunctor(){return e=>{let t;switch(this.m_segCurveType){case 0:case 1:case 3:{const n={stack:[],error:void 0,hasError:!1};try{const s=(0,c.b)(n,new a.E,!1),i=(0,c.b)(n,new a.E,!1);a.F.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*e,this.m_az12.val,s,i,this.m_segCurveType),t=new o.P(s.val,i.val);break}catch(e){n.error=e,n.hasError=!0}finally{(0,c.c)(n)}}case 2:{const n=h.h.lerp(this.m_segStartPt3d,this.m_segEndPt3d,e);t=(0,a.Y)(this.m_a,this.m_eSquared,n);break}case 4:t=o.P.lerp(this.m_segStartPt,this.m_segEndPt,e),this.m_bIsPannablePcs&&((0,a.S)(this.m_sr,0,[t],1),t.mulThis(this.m_rpu));break;default:(0,s.c)("Invalid curve type")}return a.F.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,t.x,t.y,this.m_minGeodeticDist,null,null,this.m_distCurveType),this.m_minGeodeticDist.val}}calculateAndUpdateSegmentLength(){switch(this.m_segCurveType){case 0:case 2:case 1:case 3:a.F.geodeticDistance(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_segEndPt.x,this.m_segEndPt.y,this.m_geodeticLength,this.m_az12,null,this.m_segCurveType);break;case 4:this.m_geodeticLength.val=o.P.distance(this.m_segStartPt,this.m_segEndPt);break;default:(0,s.c)("Invalid curve type")}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}Symbol.dispose;class p{constructor(e,t,n,s,i=100){this.m_startPt=e.clone(),this.m_endPt=t.clone(),this.m_cE2=s,this.m_cE=Math.sqrt(this.m_cE2),this.m_c1By2e=1/(2*this.m_cE),this.m_cRpu=n.getGCS().getUnit().getUnitToBaseFactor(),this.isPcs=2===n.getCoordinateSystemType(),this.PEProjcs=n.getPECoordSys(),this.m_points=(0,o.d)(2*i,Number.NaN)}setSegmentEndPoints(e,t){this.m_startPt.assign(e),this.m_endPt.assign(t)}makeFunctor(){return e=>{const t=[0,0];t[0]=this.m_startPt.x*(1-e)+this.m_endPt.x*e,t[1]=this.m_startPt.y*(1-e)+this.m_endPt.y*e,this.isPcs&&a.Z.projToGeogCenter(this.PEProjcs,1,t,0);const n=Math.sin(t[1]*this.m_cRpu);return 0===this.m_cE2?n:-Math.log((1-this.m_cE*n)/(1+this.m_cE*n))*this.m_c1By2e+n/(1-this.m_cE2*n*n)}}}function y(e,t,n,s,i){const o=(new r.O).execute(e,t,0,0,i);let h;h=s?(new a.v).execute(o,s,i):o;const m=1===n.getUnit().getUnitToBaseFactor()?Math.PI/180:1,u=new _.J;h.queryEnvelope(u);const c=new _.J,l=new _.J,g=new _.J;c.setCoords({xmin:u.xmin,ymin:75*m,xmax:u.xmax,ymax:90*m}),l.setCoords({xmin:u.xmin,ymin:-60*m,xmax:u.xmax,ymax:75*m}),g.setCoords({xmin:u.xmin,ymin:-90*m,xmax:u.xmax,ymax:-60*m}),c.inflateCoords(.01*c.width(),0),l.inflateCoords(.01*l.width(),0),g.inflateCoords(.01*g.width(),0);let p=0;return p+=d(h,c,n,i),p+=d(h,l,n,i),p+=d(h,g,n,i),p}function d(e,t,n,i){const r=(new m.O).execute(e,t,n,i);if(null!==r&&!r.isEmpty()){const e=new _.J;r.queryEnvelope(e);const{first:t,second:h}=function(e,t){const n=function(e,t){const n=e.getUnit().getUnitToBaseFactor(),i=t.getCenter();i.scale(180*n/Math.PI);const r=new o.P;r.x=0,r.y=0;let _=0;if(0===_){i.y>45?(r.y=o.l,_=0):i.y<-45?(r.y=-o.l,_=1):i.x>=45&&i.x<135?(r.x=o.l,_=2):i.x>=135||i.x<-135?(r.x=o.l,_=3):i.x<-45&&i.x>=-135?(r.x=-o.l,_=4):(r.x=0,_=5);const e=n*Math.sqrt((0,o.s)(t.xmin-t.xmax)+(0,o.s)(t.ymin-t.ymax)),s=r.clone(),a=t.getCenter();if(a.scale(n),_<2&&(s.x=a.x),o.P.distance(s,a)+.5*e>o.l)return null}const h=P[_];if(null!==h&&h.getGCS().equalHorizontal(e))return h;const m=e.getText(),u=r.x,c=r.y;let l=0,g=-1;6!==_?g=a.a4.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:((0,s.g)(false),l=0,g=a.a4.PE_PRJ_CYLINDRICAL_EQAREA);const p=(0,a.aw)("EqualAreaPCS");let y;g===a.a4.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?y=`PROJCS["${p}",${m},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${u}],PARAMETER["Latitude_of_Origin",${c}],UNIT["Meter",1.0]]`:g===a.a4.PE_PRJ_CYLINDRICAL_EQAREA?y=`PROJCS["${p}",${m},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${u}],PARAMETER["Standard_Parallel_1",${l}],PARAMETER["Latitude_of_Origin",${c}],UNIT["Meter",1.0]]`:(0,s.c)("getEqualAreaPcsFixed");const d=(0,a.a)(y);return P[_]&&P[_].destroy(),P[_]=d,d}(e,t);if(null!==n)return(0,o.n)(n,!1);const i=e.getText(),r=e.getUnit().getUnitToBaseFactor(),_=(t.xmin+t.width()/2)*r,h=(t.ymin+t.height()/2)*r;let m=0,u=0,c=-1;t.ymin*r>=75*Math.PI/180||t.ymax*r<=-60*Math.PI/180?c=a.a4.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA:t.ymin>0||t.ymax<0?(m=(t.ymin+1/3*t.height())*r,u=(t.ymin+2/3*t.height())*r,c=a.a4.PE_PRJ_ALBERS):(m=(t.ymin+2/3*t.height())*r,c=a.a4.PE_PRJ_CYLINDRICAL_EQAREA);const l=(0,a.aw)("EqualAreaPCS");let g;return c===a.a4.PE_PRJ_LAMBERT_AZIMUTHAL_EQAREA?g=`PROJCS["${l}",${i},PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${_}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:c===a.a4.PE_PRJ_ALBERS?g=`PROJCS["${l}",${i},PROJECTION["Albers"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${_}],PARAMETER["Standard_Parallel_1",${m}],PARAMETER["Standard_Parallel_2",${u}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:c===a.a4.PE_PRJ_CYLINDRICAL_EQAREA?g=`PROJCS["${l}",${i},PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing",0],PARAMETER["Central_Meridian",${_}],PARAMETER["Standard_Parallel_1",${m}],PARAMETER["Latitude_of_Origin",${h}],UNIT["Meter",1.0]]`:(0,s.c)("getEqualAreaPCSInstance"),(0,o.n)((0,a.a)(g),!0)}(n,e),m=(0,a.p)(n,t,null),u=(new a.v).execute(r,m,i).calculateArea2D();return h&&t.destroy(),u}return 0}const P=[null,null,null,null,null,null,null];class f{getOperatorType(){return 10314}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n){if(0===t.getCoordinateSystemType()&&(0,s.t)(""),e.isEmpty()||e.getDimension()<2)return 0;if((0,s.d)(e),e.getGeometryType()===s.G.enumEnvelope){const s=new i.a;return s.addEnvelope(e,!1),this.execute(s,t,n)}let c=e;e.getDescription().getAttributeCount()>1&&(c=e.clone(),c.dropAllAttributes());const l=(new r.O).execute(c,0,t.getTolerance(0),0,n);let g=null;const d=t.getGCS();d!==t&&(g=(0,a.p)(t,d));let P=(new a.h).execute(l,t,!1,n);return P.isEmpty()?0:(P===e&&(P=e.clone()),t.isPannable()?function(e,t,n){const s=new _.J;e.queryEnvelope(s);const r=(0,h.c)(t,s,!0).total(),u=t.getPannableExtent();u.xmin=s.xmin-10*r,u.xmax=s.xmax+10*r;const c=(new m.O).execute(e,u,t,n).getImpl().querySegmentIterator();c.stripAttributes();const l=(0,a.G)();t.querySpheroidData(l);const g=l.e2,y=0===g?2:1,d=new o.P(0,0),P=new o.P(0,0),f=new o.K(0),E=new p(d,P,t,g,100);for(;c.nextPath();)for(;c.hasNextSegment();){const e=c.nextSegment();d.assign(e.getStartXY()),P.assign(e.getEndXY()),E.setSegmentEndPoints(d,P);const t=(0,i.x)(6,0,1,1e-12,1e-15,E.makeFunctor());f.pe((P.x-d.x)*t)}const S=l.majorSemiAxis;return y*S*S*(1-g)*Math.PI*f.getResult()/t.getPannableExtent().width()}(P,t,n):function(e,t,n,s,i){const r=function(e,t,n){const s=e.calculateLength2D(),i=(new u.O).execute(e,t,n)/25e3,r=s/e.getSegmentCount()*2;let a=Math.min(r,s/i);return 0===a&&(a=1),(0,o.n)(a,s/a)}(e,t,i);let a=y(e,r.first,n,s,i),_=1,h=0,m=0;do{if(_++,r.first*=.5,r.first<50*t.getTolerance(0))return a;r.second*=2,m=y(e,r.first,n,s,i),h=Math.abs(m-a),a=m}while(Math.abs(a)>1&&h>1e-8*Math.abs(a)&&(r.second<65e3&&_<8||_<4));return m}(P,t,d,g,n))}}function E(){return{m_p_PCS:new o.P,m_factor:Number.NaN,setValues:S,assign:x}}function S(e,t){this.m_factor=e,this.m_p_PCS.assign(t)}function x(e){this.m_factor=e.m_factor,this.m_p_PCS.assign(e.m_p_PCS)}class N{constructor(e,t,n,s){this.m_ptStart=new h.h,this.m_ptEnd=new h.h,this.m_ptStart.assign(t),this.m_ptEnd.assign(n),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y,this.m_e=Math.sqrt(e),this.m_e2=e,this.m_c1MinusE2=1-e;const i=Math.sin(s);let r;r=0===this.m_e2?2*i:i*((0,o.y)(this.m_e*i)+1/(1-this.m_e2*i*i)),this.m_baseA=r}setSegmentEndPoints(e,t){this.m_ptStart.assign(e),this.m_ptEnd.assign(t),this.m_deltaX=this.m_ptEnd.x-this.m_ptStart.x,this.m_deltaY=this.m_ptEnd.y-this.m_ptStart.y}makeFunctor(){return e=>{const t=1-e,n=t*this.m_ptStart.x+e*this.m_ptEnd.x,s=t*this.m_ptStart.y+e*this.m_ptEnd.y,i=t*this.m_ptStart.z+e*this.m_ptEnd.z,r=n*n+s*s,a=i/Math.sqrt(i*i+this.m_c1MinusE2*this.m_c1MinusE2*r);let _;return _=0===this.m_e2?2*a:a*((0,o.y)(this.m_e*a)+1/(1-this.m_e2*a*a)),(this.m_deltaY*n-this.m_deltaX*s)/r*(_-this.m_baseA)}}}function v(){return{sin_phi:Number.NaN,one_p_sin_phi:Number.NaN,one_m_sin_phi:Number.NaN,one_m_e_2_sin_2_phi:Number.NaN,sin_half_phi_pf:Number.NaN,sin_half_phi_pz:Number.NaN,sin_half_asin_e_sin_phi_pf:Number.NaN,sin_half_asin_e_sin_phi_pz:Number.NaN,atanh_sin_phi:Number.NaN,atanh_esin_phi:Number.NaN,make_negative:!1,initialize:A,changeSign:M,assign:D,clone:b}}function A(e,t,n,s){const i=.5*e;this.sin_phi=Math.sin(e);const r=t*this.sin_phi,a=.5*Math.asin(r);this.one_p_sin_phi=1+this.sin_phi,this.one_m_sin_phi=1-this.sin_phi,this.one_m_e_2_sin_2_phi=(1+r)*(1-r),this.sin_half_phi_pf=Math.sin(i+n),this.sin_half_phi_pz=Math.sin(i+s),this.sin_half_asin_e_sin_phi_pf=Math.sin(a+n),this.sin_half_asin_e_sin_phi_pz=Math.sin(a+s),this.atanh_sin_phi=Math.log(this.sin_half_phi_pf/this.sin_half_phi_pz),this.atanh_esin_phi=Math.log(this.sin_half_asin_e_sin_phi_pf/this.sin_half_asin_e_sin_phi_pz)}function M(){this.sin_phi=-this.sin_phi;let e=this.one_p_sin_phi;this.one_p_sin_phi=this.one_m_sin_phi,this.one_m_sin_phi=e,e=this.sin_half_phi_pf,this.sin_half_phi_pf=this.sin_half_phi_pz,this.sin_half_phi_pz=e,e=this.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pf=this.sin_half_asin_e_sin_phi_pz,this.sin_half_asin_e_sin_phi_pz=e,this.atanh_sin_phi=-this.atanh_sin_phi,this.atanh_esin_phi=-this.atanh_esin_phi}function D(e){this.sin_phi=e.sin_phi,this.one_p_sin_phi=e.one_p_sin_phi,this.one_m_sin_phi=e.one_m_sin_phi,this.one_m_e_2_sin_2_phi=e.one_m_e_2_sin_2_phi,this.sin_half_phi_pf=e.sin_half_phi_pf,this.sin_half_phi_pz=e.sin_half_phi_pz,this.sin_half_asin_e_sin_phi_pf=e.sin_half_asin_e_sin_phi_pf,this.sin_half_asin_e_sin_phi_pz=e.sin_half_asin_e_sin_phi_pz,this.atanh_sin_phi=e.atanh_sin_phi,this.atanh_esin_phi=e.atanh_esin_phi,this.make_negative=e.make_negative}function b(){return{...this}}class C{constructor(e,t,n){this.m_transformPCS2GCS=null,this.m_scaleToRadians=new l.T,this.m_scaleToDegrees=new l.T,this.m_progressTracker=n,(0,s.g)(4!==t),this.m_curveType=t,this.m_inputSR=e,e&&0!==e.getCoordinateSystemType()||(0,s.t)(""),this.m_inputGCS=e.getGCS(),this.m_a=0,this.m_eSquared=0,this.m_b=0,this.m_rpu=0}executePolygonGeodeticArea(e){let t,n=e.clone();if(n.dropAllAttributes(),e.hasNonLinearSegments()&&(n=(new r.O).execute(n,0,this.m_inputSR.getTolerance(0),0,this.m_progressTracker)),this.m_inputSR.isPannable()){const e=new _.J;n.queryEnvelope(e);const t=this.m_inputSR.getPannableExtent();if(!t.containsEnvelope(e)){const s=t.getCenterX()-e.getCenterX(),i=new l.T;i.setShiftCoords(s,0),n.applyTransformation(i),e.move(s,0);const r=new o.E;t.queryIntervalX(r);const _=new o.E;e.queryIntervalX(_),n=r.contains(_)?(0,a.w)(n,this.m_inputSR):(new a.v).foldInto360RangeGeodetic(n,this.m_inputSR,this.m_curveType)}}if(this.m_transformPCS2GCS?(n=(new a.h).execute(n,this.m_inputSR,!1,this.m_progressTracker),t=n.createInstance(),(0,a.$)(this.m_transformPCS2GCS,n,t,this.m_progressTracker)||(t=(new a.v).execute(n,this.m_transformPCS2GCS,this.m_progressTracker))):t=(new a.h).execute(n,this.m_inputGCS,!1,this.m_progressTracker),t.isEmpty())return 0;if(1===this.m_curveType){const e=(0,a.G)();return this.m_inputGCS.querySpheroidData(e),this.m_a=e.majorSemiAxis,this.m_eSquared=e.e2,this.loxodromeArea(t)}const s=t.getImpl();this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_scaleToRadians.setScale(this.m_rpu),s.applyTransformation(this.m_scaleToRadians),this.m_scaleToDegrees=this.m_scaleToRadians,this.m_scaleToDegrees.invertThis();const i=(0,a.G)();if(this.m_inputGCS.querySpheroidData(i),this.m_a=i.majorSemiAxis,this.m_b=i.minorSemiAxis,this.m_eSquared=i.e2,2===this.m_curveType)return this.executeClippedPolygonGreatEllipticArea(t);{const e={stack:[],error:void 0,hasError:!1};try{const n=a.ax.unit(9101),s=this.m_inputGCS.getPECoordSys(),i=(0,c.b)(e,s.cloneAlterUnits(n),!1);let r,o,_=this.executeClippedPolygonGeodeticArea(t,i,0),h=0;do{h++,r=this.executeClippedPolygonGeodeticArea(t,i,h),o=Math.abs(r-_),_=r}while(Math.abs(r)>1&&o>1e-8*Math.abs(r)&&h<7);return r}catch(t){e.error=t,e.hasError=!0}finally{(0,c.c)(e)}}}executeClippedPolygonGeodeticArea(e,t,n){const s={stack:[],error:void 0,hasError:!1};try{const i=new _.J;e.queryEnvelope(i);const r=(0,c.b)(s,this.getEqualAreaPCSInstance(t,i),!1),h=e.clone();(0,a.ay)(r,h);const m=50,u=h.getImpl().getAttributeStreamRef(0),l=e.getImpl().getAttributeStreamRef(0),g=(0,c.b)(s,new a.E,!1),p=(0,c.b)(s,new a.E,!1),y=40,d=[0,0],P=(0,o.p)(E,y),f=(0,o.d)(y,-1),S=E(),x=E();let N,v;const A=r;let M=h.calculateArea2D();const D=new o.K(0),b=.5*Math.PI,C=1e-10*Math.abs(M)+1e-6,T=e.getPathCount();let q,w,I,G;const R=new o.P,L=new o.P,B=new o.P,z=new o.P,F=new o.P,Y=new o.P;let O,k;for(w=e.getPathStart(0),q=0;q<T;q++,w=I)for(I=e.getPathEnd(q),u.queryPoint2D(I-1<<1,B),l.queryPoint2D(I-1<<1,R),Math.abs(R.y)>b&&(R.y=(0,o.f)(b,R.y)),G=w;G<I;G++,B.assign(z),R.assign(L)){if(u.queryPoint2D(G<<1,z),l.queryPoint2D(G<<1,L),Math.abs(L.y)>b&&(L.y=(0,o.f)(b,L.y)),O=o.P.distance(B,z),O<m||0===R.y&&0===L.y)continue;a.F.geodeticDistance(this.m_a,this.m_eSquared,R.x,R.y,L.x,L.y,g,p,null,this.m_curveType);const e=g.val,t=p.val;for(S.setValues(0,B),x.setValues(1,z),v=n,P[0].assign(x),f[0]=n,N=0;N>=0;){k=.5*(S.m_factor+x.m_factor),a.F.geodeticCoordinate(this.m_a,this.m_eSquared,R.x,R.y,e*k,t,g,p,this.m_curveType),F.x=g.val,F.y=p.val,d[0]=F.x,d[1]=F.y,a.Z.geogToProj(A,1,d),Y.x=d[0],Y.y=d[1];const n=.5*-Y.offset(S.m_p_PCS,x.m_p_PCS)*o.P.distance(S.m_p_PCS,x.m_p_PCS);if(D.pe(n),Math.abs(n)>C||Math.abs(n)>0&&v>0)x.setValues(k,Y),N++,P[N].assign(x),Math.abs(n)<=C?(v--,f[N-1]=v,f[N]=v):(v=f[N-1],f[N]=v);else{if(N<=0)break;S.assign(x),N--,x.assign(P[N]),v=f[N]}}}return M+=D.getResult(),Math.abs(M)}catch(e){s.error=e,s.hasError=!0}finally{(0,c.c)(s)}}executeClippedPolygonGreatEllipticArea(e){const t=[],n=[],s=new o.P,i=new o.P,r=(0,a.Q)(1,this.m_eSquared,new o.P(0,.5*Math.PI)),m=new o.K(0),u=new o.K(0),c=new o.K(0),l=new h.h,g=new h.h,p=new _.J;e.queryLooseEnvelope(p);let y=0;p.containsCoords(p.xmin,0)||(y=Math.abs(p.ymin)<Math.abs(p.ymax)?p.ymin:p.ymax);const d=new N(this.m_eSquared,l,g,y),P=this.m_a*this.m_a,f=e.getImpl().querySegmentIterator();for(f.stripAttributes();f.nextPath();)for(;f.hasNextSegment();){const e=f.nextSegment();s.assign(e.getStartXY()),i.assign(e.getEndXY()),i.x-s.x>Math.PI?s.x+=2*Math.PI:i.x-s.x<-Math.PI&&(i.x+=2*Math.PI),this.splitSegmentCrossingItegralThreshold(e,t,n);for(let e of t)l.assign((0,a.Q)(this.m_a,this.m_eSquared,e.getStartXY())),g.assign((0,a.Q)(this.m_a,this.m_eSquared,e.getEndXY())),d.setSegmentEndPoints(l,g),this.adaptiveIntegrationWithRomberg(d,m);for(let e of n){let t=e.getStartXY(),n=e.getEndXY(),s=y;t.y<0&&(n=(0,o.b)(t,t=n),t.y=-t.y,n.y=-n.y,s=-s);const i=(0,a.Q)(1,this.m_eSquared,t),_=(0,a.Q)(1,this.m_eSquared,n),m=Math.min(t.y,n.y),l=(0,a.az)(this.m_eSquared,t.x,n.x,s,m);u.pe(l);const g=Math.abs((0,a.az)(this.m_eSquared,t.x,n.x,m,o.l)),p=new h.h;p.setSub(i,r);const d=new h.h;d.setSub(_,r);const f=new h.h;f.setCrossProductVector(p,d);let E=P*(g-.5*f.length());E=(0,o.f)(E,n.x-t.x),c.pe(E)}t.length=0,n.length=0}return c.getResult()+P*(.5*(1-this.m_eSquared)*m.getResult()+u.getResult())}getEqualAreaPCSInstance(e,t){const n=t.getCenterX();let s,i;const r=t.height();let _,h;(_=t.ymin>45*Math.PI/180||t.ymax<45*-Math.PI/180)?s=(0,o.f)(.5*Math.PI,t.getCenterY()):(s=t.getCenterY(),i=t.ymin+r*(2/3));const m=(0,a.aw)("EqualAreaPCS"),u=e.toString();return h=_?a.ax.fromString(a.a4.PE_TYPE_PROJCS,`PROJCS["${m}", ${u}, PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0],PARAMETER["False_Northing", 0],PARAMETER["Central_Meridian", ${n}], PARAMETER["Latitude_of_Origin", ${s}], UNIT["Meter",1.0]]`):a.ax.fromString(a.a4.PE_TYPE_PROJCS,`PROJCS["${m}", ${u}, PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting", 0],PARAMETER["False_Northing", 0],PARAMETER["Central_Meridian", ${n}],PARAMETER["Standard_Parallel_1", ${i}],PARAMETER["Latitude_of_Origin", ${s}],UNIT["Meter",1.0]]`),h}splitSegmentCrossingItegralThreshold(e,t,n){const s=100,r=400,_=(0,a.Q)(this.m_a,this.m_eSquared,new o.P(0,o.l)),m=(0,a.Q)(this.m_a,this.m_eSquared,new o.P(0,-o.l)),u=this.splitSegmentPassingThroughPole(e);for(let e of u){const u=e.getStartXY(),c=e.getEndXY(),l=(0,a.Q)(this.m_a,this.m_eSquared,u),g=(0,a.Q)(this.m_a,this.m_eSquared,c),p=new o.P,y=new h.h;let d=h.h.sqrDistance(_,l),P=h.h.sqrDistance(l,g);if(d<=s){if(!(P>r)){n.push(new i.L({start:u,end:c}));continue}y.assign(g.sub(l)),y.normalizeThis(),y.assign(l.add(y.mul(20))),p.assign((0,a.Y)(this.m_a,this.m_eSquared,y)),n.push(new i.L({start:u,end:p})),u.assign(p)}if(l.assign((0,a.Q)(this.m_a,this.m_eSquared,u)),d=h.h.sqrDistance(_,g),P=h.h.sqrDistance(l,g),d<=s){if(!(P>r)){n.push(new i.L({start:u,end:c}));continue}y.assign(g.sub(l)),y.normalizeThis(),y.assign(g.sub(y.mul(20))),p.assign((0,a.Y)(this.m_a,this.m_eSquared,y)),n.push(new i.L({start:p,end:c})),c.assign(p)}if(l.assign((0,a.Q)(this.m_a,this.m_eSquared,u)),g.assign((0,a.Q)(this.m_a,this.m_eSquared,c)),d=h.h.sqrDistance(m,l),P=h.h.sqrDistance(l,g),d<=s){if(!(P>r)){n.push(new i.L({start:u,end:c}));continue}y.assign(g.sub(l)),y.normalizeThis(),y.assign(l.add(y.mul(20))),p.assign((0,a.Y)(this.m_a,this.m_eSquared,y)),n.push(new i.L({start:u,end:p})),u.assign(p)}if(l.assign((0,a.Q)(this.m_a,this.m_eSquared,u)),g.assign((0,a.Q)(this.m_a,this.m_eSquared,c)),d=h.h.sqrDistance(m,g),P=h.h.sqrDistance(l,g),d<=s){if(!(P>r)){n.push(new i.L({start:u,end:c}));continue}y.assign(g.sub(l)),y.normalizeThis(),y.assign(g.sub(y.mul(20))),p.assign((0,a.Y)(this.m_a,this.m_eSquared,y)),n.push(new i.L({start:p,end:c})),c.assign(p)}t.push(new i.L({start:u,end:c}))}}splitSegmentPassingThroughPole(e){const t={stack:[],error:void 0,hasError:!1};try{const n=[],s=new h.h,r=new h.h,_=new h.h,m=new o.P,u=20,l=3.124139361,p=10,y=e.getStartXY(),d=e.getEndXY(),P=(0,c.b)(t,new a.E,!1);if(a.F.geodeticDistance(this.m_a,this.m_eSquared,y.x,y.y,d.x,d.y,P,null,null,2),Math.abs(d.x-y.x)>l&&P.val>u){const e=new g(new o.P(0,90),y.divide(this.m_rpu),d.divide(this.m_rpu),this.m_inputGCS,2,2);let t=(0,a.U)(e.makeFunctor(),0,1,1e-10);if(t.second<=p&&t.first>0&&t.first<1)return s.assign((0,a.Q)(this.m_a,this.m_eSquared,y)),r.assign((0,a.Q)(this.m_a,this.m_eSquared,d)),(0,o.x)(s,r,t.first,_),m.assign((0,a.Y)(this.m_a,this.m_eSquared,_)),n.push(new i.L({start:y,end:m})),n.push(new i.L({start:m,end:d})),n;if(e.setPointDistFrom(new o.P(0,-90)),t=(0,a.U)(e.makeFunctor(),0,1,1e-10),t.second<=p&&t.first>0&&t.first<1)return s.assign((0,a.Q)(this.m_a,this.m_eSquared,y)),r.assign((0,a.Q)(this.m_a,this.m_eSquared,d)),(0,o.x)(s,r,t.first,_),m.assign((0,a.Y)(this.m_a,this.m_eSquared,_)),n.push(new i.L({start:y,end:m})),n.push(new i.L({start:m,end:d})),n}return n.push(new i.L({start:y,end:d})),n}catch(e){t.error=e,t.hasError=!0}finally{(0,c.c)(t)}}adaptiveIntegrationWithRomberg(e,t){const n=e.makeFunctor();let s=0,r=1,a=n(s),o=n(r);const _=1e-17,h=1e-14;let m=(s+r)/2,u=n(m),c=Math.abs(u-a),l=Math.abs(o-u),g=0;for(;g++<32&&(c/l<.1||l/c<.1);)c<l?(t.pe((0,i.x)(5,s,m,h,_,n)),s=m,a=u):(t.pe((0,i.x)(5,m,r,h,_,n)),r=m,o=u),m=(s+r)/2,u=Math.abs(n(m)),c=Math.abs(u-a),l=Math.abs(o-u);t.pe((0,i.x)(5,s,r,h,_,n))}loxodromeAreaHemi(e,t,n,s,i){const r=n.clone(),a=i.clone();let _,h,m,u,c,l,g,p,y,d,P,f,E,S,x,N;return r.make_negative&&r.changeSign(),a.make_negative&&a.changeSign(),P=s-t,1===Math.abs(r.sin_phi)||1===Math.abs(a.sin_phi)?e.half_qp*P:r.sin_phi===a.sin_phi?(d=.5*e.one_m_e_2*r.sin_phi*(1/r.one_m_e_2_sin_2_phi+(0,o.y)(e.e*r.sin_phi))*P,d):(x=Math.log(a.sin_half_phi_pf*r.sin_half_phi_pz/(a.sin_half_phi_pz*r.sin_half_phi_pf)),N=Math.log(a.sin_half_asin_e_sin_phi_pf*r.sin_half_asin_e_sin_phi_pz/(a.sin_half_asin_e_sin_phi_pz*r.sin_half_asin_e_sin_phi_pf)),1===this.m_eSquared?(c=0,_=.5*(x+a.sin_phi/a.one_m_e_2_sin_2_phi-r.sin_phi/r.one_m_e_2_sin_2_phi),h=0):(c=-2*e.atanh_e_over_e*(Math.log(a.one_p_sin_phi/r.one_p_sin_phi)-e.e*N),_=(x-e.e*N)/e.one_m_e_2,h=(Math.log(a.one_m_e_2_sin_2_phi/r.one_m_e_2_sin_2_phi)+c/e.atanh_e_over_e)/e.one_m_e_2),m=-N*(r.atanh_esin_phi+a.atanh_esin_phi),u=1/r.one_m_e_2_sin_2_phi-1/a.one_m_e_2_sin_2_phi,l=(0,o.z)(a.one_m_sin_phi/e.one_p_e,e.e)-(0,o.z)(r.one_m_sin_phi/e.one_p_e,e.e),g=(0,o.z)(a.one_p_sin_phi/e.one_p_e,e.e)-(0,o.z)(r.one_p_sin_phi/e.one_p_e,e.e),p=(0,o.z)(r.one_m_sin_phi/-e.one_m_e,e.e)-(0,o.z)(a.one_m_sin_phi/-e.one_m_e,e.e),y=(0,o.z)(r.one_p_sin_phi/-e.one_m_e,e.e)-(0,o.z)(a.one_p_sin_phi/-e.one_m_e,e.e),d=.25/_*(h+m+u+c+.5*(l+g+p+y)),d+=e.half_qp,f=.5*e.one_m_e_2*r.sin_phi*(1/r.one_m_e_2_sin_2_phi+(0,o.y)(e.e*r.sin_phi)),E=.5*e.one_m_e_2*a.sin_phi*(1/a.one_m_e_2_sin_2_phi+(0,o.y)(e.e*a.sin_phi)),E<f&&(S=f,f=E,E=S),d<f&&(d=f),d>E&&(d=E),d*=P,d)}loxodromeArea(e){const t=Math.PI/180;let n=0;const s={e:Number.NaN,one_p_e:Number.NaN,one_m_e:Number.NaN,one_m_e_2:Number.NaN,atanh_e_over_e:Number.NaN,half_qp:Number.NaN,f:Number.NaN,z:Number.NaN},i=v(),r=v();s.e=Math.sqrt(this.m_eSquared),s.one_p_e=1+s.e,s.one_m_e=1-s.e,s.one_m_e_2=1-this.m_eSquared,s.atanh_e_over_e=(0,o.y)(s.e),this.m_eSquared>=1?s.half_qp=1:s.half_qp=.5*(1+s.atanh_e_over_e*s.one_m_e_2),s.f=.25*Math.PI,s.z=.75*Math.PI,r.initialize(0,s.e,s.f,s.z);const a=e.getPathCount(),_=new o.P,h=new o.P,m=e.getImpl().getAttributeStreamRef(0);for(let o=0;o<a;o++){const a=e.getPathStart(o),u=e.getPathEnd(o);if(!(u-a<=1)){m.queryPoint2D(2*(u-1),_);for(let e=a;e<u;e++){m.queryPoint2D(2*e,h);const o=_.y*t,u=h.y*t;if(e===a?(i.initialize(o,s.e,s.f,s.z),i.make_negative=!1):i.assign(r),r.initialize(u,s.e,s.f,s.z),r.make_negative=!1,_.y*h.y<0){if(_.y>=90&&h.y<=-90||h.y>=90&&_.y<=-90)return Number.NaN;const e=v();e.initialize(0,s.e,s.f,s.z),e.make_negative=!1;const a=i.atanh_sin_phi-s.e*i.atanh_esin_phi,m=r.atanh_sin_phi-s.e*r.atanh_esin_phi,u=(m*_.x-a*h.x)/(m-a);o<0?(i.make_negative=!0,n-=this.loxodromeAreaHemi(s,_.x*t,i,u*t,e),i.make_negative=!1,n+=this.loxodromeAreaHemi(s,u*t,e,h.x*t,r)):(n+=this.loxodromeAreaHemi(s,_.x*t,i,u*t,e),r.make_negative=!0,n-=this.loxodromeAreaHemi(s,u*t,e,h.x*t,r),r.make_negative=!1)}else _.y>=0?n+=this.loxodromeAreaHemi(s,_.x*t,i,h.x*t,r):(i.make_negative=!0,r.make_negative=!0,n-=this.loxodromeAreaHemi(s,_.x*t,i,h.x*t,r),i.make_negative=!1,r.make_negative=!1);_.assign(h)}}}return this.m_a*n*this.m_a}calculate(e){if(e.isEmpty()||e.getDimension()<2)return 0;if(e.getGeometryType()===s.G.enumEnvelope){const t=new i.a;return t.addEnvelope(e,!1),this.calculate(t)}return this.m_inputSR!==this.m_inputGCS&&null===this.m_transformPCS2GCS&&(this.m_transformPCS2GCS=(0,a.p)(this.m_inputSR,this.m_inputGCS,null)),this.executePolygonGeodeticArea(e)}}class T{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n,i){return(0,s.d)(e),4===n?(new f).execute(e,t,i):new C(t,n,i).calculate(e)}}},31088:(e,t,n)=>{n.r(t),n.d(t,{OperatorGeodeticDensifyByLength:()=>a,OperatorGeodeticDensifyCursor:()=>o});var s=n(76061),i=n(55537),r=n(12189);class a{getOperatorType(){return 10310}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,n,s,i){return new o(e,n,s,t,-1,-1,i)}execute(e,t,n,r,a){const o=new s.S([e]),_=this.executeMany(o,t,n,r,a).next();return _||(0,i.c)("null output"),_}}class o extends s.G{constructor(e,t,n,s,r,a,o){super(),this.m_progressTracker=o,a>0&&(0,i.b)(""),4!==n&&r>0&&(0,i.b)(""),t||(0,i.t)(""),0===t.getCoordinateSystemType()&&(0,i.t)(""),s>0||r>0||(0,i.t)(""),this.m_index=-1,this.m_inputGeoms=e,this.m_spatialReference=t,this.m_curveType=n,this.m_maxLengthMeters=s,this.m_maxDeviationMeters=r,this.m_maxAngle=a}next(){{let e;for(;e=this.m_inputGeoms.next();)return(0,i.d)(e),this.m_index=this.m_inputGeoms.getGeometryID(),this.geodeticDensify(e);return null}}getGeometryID(){return this.m_index}tock(){return!0}getRank(){return 1}geodeticDensify(e){return(0,r.u)(e,this.m_spatialReference,this.m_curveType,this.m_maxLengthMeters,this.m_maxDeviationMeters,this.m_progressTracker)}}},47591:(e,t,n)=>{n.d(t,{O:()=>p});var s=n(55537),i=n(12189),r=n(35368),a=n(83661),o=n(95213),_=n(79187),h=n(5247),m=n(31139);function u(){return{m_pGcs:new a.P,m_xyz:new o.h,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:c,setLength:l,assign:g}}function c(e,t,n,s){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(s),this.m_geoLength=n}function l(e){this.m_geoLength=e}function g(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class p{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,n,s,r){if(e.hasNonLinearSegments()&&(e=(new h.O).execute(e,0,t.getTolerance(0),0,r)),t.isPannable()){let s=90,a=-90;if(1===n.getUnit().getUnitToBaseFactor()&&(s*=Math.PI/180,a*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const n=[0,0,0,0];e=t.getPECoordSys(),n[0]=0,n[1]=s,n[2]=0,n[3]=a,i.Z.geogToProj(e,2,n),s=n[1],a=n[3]}const o=new _.J;e.queryEnvelope(o),o.ymin=a,o.ymax=s,e=(new m.O).execute(e,o,t,r)}else{const n=t.getPCSHorizon();if((e=(new i.f).execute(e,n,t,r))===n){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,n,s,1,r)}_ExecuteIterativeApproach(e,t,n,r,_,h){const m=(0,i.G)();n.querySpheroidData(m);const c=m.majorSemiAxis,l=m.e2,g=n.getUnit().getUnitToBaseFactor(),p=(0,a.p)(u,40),P=(0,a.d)(40,Number.NaN),f=u(),E=u();let S;const x=[0,0,0,0],N=t.getPECoordSys(),v=new a.P,A=new a.P,M=new a.P,D=new a.P,b=new a.P;let C=0;const T=e.querySegmentIterator();for(;T.nextPath();)for(;T.hasNextSegment();){const e=T.nextSegment();v.assign(e.getStartXY()),A.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(x[0]=v.x,x[1]=v.y,x[2]=A.x,x[3]=A.y,i.Z.projToGeog(N,2,x),M.x=x[0]*g,M.y=x[1]*g,D.x=x[2]*g,D.y=x[3]*g):(M.setCoordsPoint2D(v),D.setCoordsPoint2D(A),M.scale(g),D.scale(g));const n=new o.h,r=new o.h;y(c,l,M,n),y(c,l,D,r);let a=d(c,n,r);f.setValues(0,M,Number.NaN,n),E.setValues(1,D,a,r),S=_,p[0].assign(E),P[0]=_;let h=0;for(;;){h>128&&(0,s.c)("iterations exceeded");const n=.5*(f.m_factor+E.m_factor),r=e.getCoord2D(n);2===t.getCoordinateSystemType()?(x[0]=r.x,x[1]=r.y,i.Z.projToGeog(N,1,x),b.x=x[0]*g,b.y=x[1]*g):(b.setCoordsPoint2D(r),b.scale(g)),M.setCoordsPoint2D(f.m_pGcs),D.setCoordsPoint2D(E.m_pGcs);const m=new o.h;y(c,l,b,m);const u=d(c,f.m_xyz,m),v=d(c,E.m_xyz,m);a=E.m_geoLength,Number.isNaN(a)&&(a=d(c,f.m_xyz,E.m_xyz));const A=u+v,T=S===_&&A>=20&&Math.abs(A-a)>1e-8*(a+A);if(h+2<40&&(T||Math.abs(A-a)>0&&S>0))E.setLength(v),p[h].assign(E),E.setValues(n,b,u,m),p[++h].assign(E),T?(S=_,P[h]=_):(S--,P[h-1]=S,P[h]=S);else{if(C+=A,0===h)break;f.assign(E),E.assign(p[--h]),S=P[h]}}}return C}execute(e,t,n){if(t&&0!==t.getCoordinateSystemType()||(0,s.t)(""),e.isEmpty()||e.getDimension()<1)return 0;let a=null;const o=t.getGCS();o!==t&&(a=(0,i.p)(t,o,null));const _=e.getGeometryType();if(_===s.G.enumEnvelope){const s=new r.a;return s.addEnvelope(e,!1),this._ExecuteShapePreservingLength(s,t,o,a,n)}if((0,s.f)(_)){const s=new r.P;return s.addSegment(e,!0),this._ExecuteShapePreservingLength(s,t,o,a,n)}return this._ExecuteShapePreservingLength(e,t,o,a,n)}}function y(e,t,n,s){s.assign((0,i.Q)(e,t,n))}function d(e,t,n){const s=e,i=new o.h;i.setSub(t,n);const r=i.length();return 2*s*Math.asin(r/(2*s))}},76061:(e,t,n)=>{n.d(t,{G:()=>s,S:()=>i});class s{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class i extends s{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[591,3169,6061,8125],{64523:(e,t,s)=>{s.d(t,{O:()=>c});var n=s(90237),r=s(76061),i=s(55537),a=s(35368),o=s(95213),l=s(83661),u=s(5247);class c{getOperatorType(){return 10204}supportsCurves(){return!0}accelerateGeometry(e,t,s){return!1}canAccelerateGeometry(e){return!1}executeMany(e,t,s,n){return new m(e,t,s,n)}execute(e,t,s,n){return e||(0,i.t)("null param is not allowed."),new m(null,t,s,n).generalize(e)}}class m extends r.G{constructor(e,t,s,n){super(),this.m_pline=null,this.m_point=new o.P,this.m_stack=[],this.m_resultstack=[],this.m_callCount=0,this.m_progressTracker=n,this.m_geoms=e,this.m_maxDeviation=t,this.m_bRemoveDegenerateParts=s}tock(){return!0}getRank(){return 1}next(){const e=this.m_geoms.next();return null===e?null:((0,i.d)(e),this.generalize(e))}getGeometryID(){return this.m_geoms.getGeometryID()}generalize(e){const t=e.getGeometryType();if((0,i.e)(t))return e;if(t===i.G.enumEnvelope){const t=new a.a({vd:e.getDescription()});return t.addEnvelope(e,!1),this.generalize(t)}if((0,i.f)(t)){const t=new a.P({vd:e.getDescription()});return t.addSegment(e,!0),this.generalize(t)}if((0,i.h)(t)||(0,i.b)(""),e.isEmpty()||this.m_maxDeviation<=0)return e;const s=(new u.O).execute(e,0,.05*this.m_maxDeviation,0,this.m_progressTracker);e.hasNonLinearSegments()&&(this.m_maxDeviation*=.95);const r=s,o=e.createInstance();o.getGeometryType()===i.G.enumPolygon&&o.setFillRule(e.getFillRule()),this.m_xy=r.getAttributeStreamRef(0);{const e={stack:[],error:void 0,hasError:!1};try{const t=new a.L;this.m_pline=t,(0,n.b)(e,(0,l.h)((()=>{this.m_pline=null}),!1),!1);for(let e=0,t=r.getPathCount();e<t;e++)this.generalizePath(r.getImpl(),e,o.getImpl())}catch(t){e.error=t,e.hasError=!0}finally{(0,n.c)(e)}}return this.m_resultstack.length=0,this.m_stack.length=0,o}generalizePath(e,t,s){if(e.getPathSize(t)<2)return;this.m_resultstack.length=0,this.m_stack.length=0;const n=e.getPathStart(t),r=e.getPathEnd(t)-1,i=e.isClosedPath(t),a=e.isClosedPathInXYPlane(t);let o=0,u=-1;this.m_stack.push(i?n:r),this.m_stack.push(n);let c=!1,m=!1;for(!this.m_bRemoveDegenerateParts&&a&&(c=!0,m=!0);this.m_stack.length>1;){const t=this.m_stack.at(-1);this.m_stack.pop();const s=this.m_stack.at(-1);let n=e.getXY(t);this.m_pline.setStartXY(n),n=e.getXY(s),this.m_pline.setEndXY(n);const i=[Number.NaN];let a=this.findGreatestDistance(t,s,r,i);a>=0&&(c?c=!1:(m&&i[0]>o&&(o=i[0],u=a),i[0]<=this.m_maxDeviation&&(a=-1))),a>=0?(this.m_stack.push(a),this.m_stack.push(t)):this.m_resultstack.push(t)}i||this.m_resultstack.push(this.m_stack[0]);const h=this.m_resultstack.length;if(h===e.getPathSize(t)&&h===this.m_stack.length)s.addPath(e,t,!0);else if(this.m_resultstack.length>0){if(this.m_bRemoveDegenerateParts&&this.m_resultstack.length<=2){if(i||1===this.m_resultstack.length)return;if(l.P.distance(e.getXY(this.m_resultstack[0]),e.getXY(this.m_resultstack[1]))<=this.m_maxDeviation)return}if(m&&u>=0&&o<=this.m_maxDeviation){const e=this.m_resultstack.at(-1)>u;this.m_resultstack.push(u),e&&(this.m_resultstack[this.m_resultstack.length-2]=(0,l.b)(this.m_resultstack[this.m_resultstack.length-1],this.m_resultstack[this.m_resultstack.length-1]=this.m_resultstack[this.m_resultstack.length-2]))}for(let t=0,n=this.m_resultstack.length;t<n;t++)e.getPointByVal(this.m_resultstack[t],this.m_point),0===t?s.startPathPoint(this.m_point):s.lineToPoint(this.m_point);if(i){for(let e=this.m_resultstack.length;e<3;e++)s.lineToPoint(this.m_point);s.closePathWithLine()}}}findGreatestDistance(e,t,s,n){let r=t-1;t<=e&&(r=s);let i=-1,a=0;const o=new l.P;for(let t=e+1;t<=r;t++){this.m_xy.queryPoint2D(2*t,o);const e=o.x,s=o.y,n=this.m_pline.getClosestCoordinate(o,!1);o.assign(this.m_pline.getCoord2D(n)),o.x-=e,o.y-=s;const r=o.length();r>a&&(i=t,a=r),this.m_callCount++}return n[0]=a,i}}},76061:(e,t,s)=>{s.d(t,{G:()=>n,S:()=>r});class n{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class r extends n{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},92523:(e,t,s)=>{s.d(t,{a:()=>l,e:()=>o,g:()=>c,s:()=>u});var n=s(4576),r=s(83047),i=s(70787),a=s(78125);function o(e,t,s={}){const{removeDegenerateParts:n=!1,unit:o}=s,l=(0,a.getSpatialReference)(e);return o&&(t=(0,r.UW)(t,o,l)),(0,a.toGeometry)((0,i.g7)((0,a.fromGeometry)(e),t,n),l)}function l(e,t,s={}){const{removeDegenerateParts:o=!1,unit:l}=s,u=e.map(a.fromGeometry),c=(0,a.getSpatialReference)(e);return l&&(t=(0,r.UW)(t,l,c)),(0,i.zo)(u,t,o).map((e=>(0,a.toGeometry)(e,c))).filter(n.Ru)}const u=(0,i.fz)(),c=Object.freeze(Object.defineProperty({__proto__:null,execute:o,executeMany:l,supportsCurves:u},Symbol.toStringTag,{value:"Module"}))},60591:(e,t,s)=>{s.r(t),s.d(t,{execute:()=>n.e,executeMany:()=>n.a,supportsCurves:()=>n.s}),s(4576),s(83047),s(70787),s(78125);var n=s(92523)},70787:(e,t,s)=>{s.d(t,{fz:()=>o,g7:()=>i,zo:()=>a});var n=s(76061);const r=new(s(64523).O);function i(e,t,s){return r.execute(e,t,s,null)}function a(e,t,s){const i=r.executeMany(new n.S(e),t,s,null);return Array.from(i)}function o(){return r.supportsCurves()}},78125:(e,t,s)=>{s.r(t),s.d(t,{fromExtent:()=>x,fromGeometry:()=>k,fromMultipoint:()=>P,fromPoint:()=>G,fromPolygon:()=>d,fromPolyline:()=>v,fromSpatialReference:()=>C,getSpatialReference:()=>y,toExtent:()=>M,toGeometry:()=>w,toMultipoint:()=>R,toPoint:()=>D,toPolygon:()=>V,toPolyline:()=>z});var n=s(83661),r=(s(79187),s(55537)),i=s(95213),a=s(35368),o=s(12189),l=s(5443),u=s(48526),c=s(86738),m=s(39829),h=s(82799),g=(s(90293),s(83299));const f="_gxVersion",p=2,_=1;function y(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function k(e){switch(e.type){case"point":return G(e);case"multipoint":return P(e);case"polyline":return v(e);case"polygon":return d(e);case"extent":return x(e);default:throw new Error(`Unsupported geometry type: ${e.type}`)}}function x(e){if(!e.getCacheValue(f)){const t=new i.E;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(p,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(_,0,e.zmin,e.zmax),e.setCacheValue(f,t)}return e.getCacheValue(f)}function P(e){if(!e.getCacheValue(f)){const t=new a.M,s=new i.P,n=e.points,r=e.hasM,o=e.hasZ,l=o?3:2;for(let e=0,i=n.length;e<i;e++){const i=n[e];s.setXYCoords(i[0],i[1]),o&&s.setZ(i[2]??0),r&&s.setM(i[l]??NaN),t.add(s)}e.setCacheValue(f,t)}return e.getCacheValue(f)}function G(e){if(!e.getCacheValue(f)){const t=new i.P;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(f,t)}return e.getCacheValue(f)}function d(e){if(!e.getCacheValue(f)){const{curveRings:t,hasM:s,hasZ:n,rings:r}=e,i=(0,g.fromGeometryToGXGeometry)({curveRings:t,hasM:s,hasZ:n,rings:r});e.setCacheValue(f,i)}return e.getCacheValue(f)}function v(e){if(!e.getCacheValue(f)){const{curvePaths:t,hasM:s,hasZ:n,paths:r}=e,i=(0,g.fromGeometryToGXGeometry)({curvePaths:t,hasM:s,hasZ:n,paths:r});e.setCacheValue(f,i)}return e.getCacheValue(f)}function C(e){if(e.wkid)return(0,o.c)(e.wkid);const t=e.wkt2||e.wkt;return t?(0,o.a)(t):null}function w(e,t){if(e)switch(e.getGeometryType()){case r.G.enumPoint:return D(e,t);case r.G.enumEnvelope:return M(e,t);case r.G.enumMultiPoint:return R(e,t);case r.G.enumPolyline:return z(e,t);case r.G.enumPolygon:return V(e,t)}return null}function M(e,t){if(e.isEmpty())return null;const s=new l.A({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),n=e.getDescription();if(n.hasM()){const t=e.queryInterval(p,0);s.mmin=t.vmin,s.mmax=t.vmax}if(n.hasZ()){const t=e.queryInterval(_,0);s.zmin=t.vmin,s.zmax=t.vmax}return s.setCacheValue(f,e),s}function R(e,t){if(e.isEmpty())return null;const s=e.getDescription(),n=s.hasM(),r=s.hasZ(),a=[],o=new i.P;for(let t=0,s=e.getPointCount();t<s;t++){e.getPointByVal(t,o);const s=[o.getX(),o.getY()];r&&s.push(o.getZ()),n&&s.push(o.getM()),a.push(s)}const l=new u.A({hasM:n,hasZ:r,points:a,spatialReference:t});return l.setCacheValue(f,e),l}function D(e,t){if(e instanceof n.P)return new c.A({x:e.x,y:e.y,spatialReference:t});if(e.isEmpty())return null;const s=new c.A({x:e.getX(),y:e.getY(),spatialReference:t}),r=e.getDescription();return r.hasM()&&(s.m=e.getM()),r.hasZ()&&(s.z=e.getZ()),s.setCacheValue(f,e),s}function V(e,t){if(e.isEmpty())return null;const s=m.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return s.setCacheValue(f,e),s}function z(e,t){if(e.isEmpty())return null;const s=h.A.fromJSON({spatialReference:t,...(0,g.toGeometry)(e,null)});return s.setCacheValue(f,e),s}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1878],{55537:(t,s,i)=>{function e(t,s){try{if(!t)throw new Error(s)}catch(t){throw t}}i.d(s,{A:()=>y,B:()=>k,C:()=>F,D:()=>z,G:()=>l,a:()=>T,b:()=>P,c:()=>A,d:()=>Z,e:()=>x,f:()=>b,g:()=>e,h:()=>_,i:()=>v,j:()=>p,k:()=>g,l:()=>S,m:()=>E,n:()=>D,o:()=>w,p:()=>d,q:()=>f,r:()=>M,s:()=>q,t:()=>C,u:()=>I,v:()=>N,w:()=>L,x:()=>R,y:()=>B,z:()=>G});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}}class r extends n{constructor(t){super(2,t),this.name="CorruptedGeometryError"}}class o extends n{constructor(t){super(3,t),this.name="EmptyGeometryError"}}class h extends n{constructor(t){super(4,t),this.name="MathSingularityError"}}class u extends n{constructor(t){super(21,t),this.name="ProjectionEngineNotLoadedError"}}class a extends n{constructor(t){super(8,t),this.name="NonSimpleGeometryError"}}var l,c;(c=l||(l={}))[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 m=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function y(t){return m[15&t]}function x(t){return!!(512&t)}function f(t){return!!(1024&t)}function d(t){return!!(2048&t)}function b(t){return!!(4096&t)}function v(t){return!!(8192&t)}function _(t){return!!(16384&t)}function w(t){return!!(32768&t)}function N(t){const s=t.getGeometryType();return v(s)?t.getPointCount():t.isEmpty()?0:s===l.enumEnvelope?4:s===l.enumPoint?1:b(s)?2:void A("missing type")}function p(t){const s=t.getGeometryType();if(_(s))return t.hasNonLinearSegments();if(s===l.enumGeometryCollection){const s=t;for(let t=0,i=s.getGeometryCount();t<i;t++)if(p(s.getGeometry(t)))return!0;return!1}return!!b(s)&&s!==l.enumLine}function M(t){throw new u(t)}function g(t){throw new r(t)}function C(t){throw new Error(t)}function T(t){throw new h(t)}function R(){C("Geometry type is not supported for 3D operations.")}function E(t){throw new n(12,t)}function I(t){throw new o(t)}function P(t){throw new n(14,t)}function D(t){throw new Error(t)}function A(t){throw new n(13,t)}function q(t){throw new Error(t)}function z(t){throw new a(t)}function S(t){t&&p(t)&&P("Operation does not support curves.")}function Z(t){t&&w(t.getGeometryType())&&P("Unsupported geometry type.")}function F(t){t===l.enumGeometryCollection&&C("Geometry_collection instances are not supported in this operation")}function k(t){F(t.getGeometryType())}function B(t){C(`bad wkid: ${t}`)}function G(t){let s="bad wkt: ";s+=t,s+="...",C(s)}function L(t,s){t||C(s)}},83661:(t,s,i)=>{i.d(s,{$:()=>N,A:()=>ys,B:()=>at,C:()=>ft,D:()=>vs,E:()=>a,F:()=>c,G:()=>v,H:()=>b,I:()=>jt,J:()=>ws,K:()=>n,L:()=>Ct,M:()=>Ds,N:()=>_s,O:()=>It,P:()=>ks,Q:()=>z,R:()=>S,S:()=>Pt,T:()=>ut,U:()=>xt,V:()=>E,W:()=>I,X:()=>dt,Y:()=>Wt,Z:()=>Z,_:()=>w,a:()=>lt,a0:()=>P,a1:()=>D,a2:()=>A,a3:()=>Vt,a4:()=>At,a5:()=>gs,a6:()=>Es,a7:()=>Ts,a8:()=>Cs,a9:()=>et,aA:()=>_t,aB:()=>Fs,aC:()=>C,aD:()=>hs,aE:()=>$t,aF:()=>Gt,aG:()=>as,aH:()=>us,aa:()=>nt,ab:()=>pt,ac:()=>_,ad:()=>qs,ae:()=>As,af:()=>B,ag:()=>Ms,ah:()=>it,ai:()=>St,aj:()=>V,ak:()=>G,al:()=>Is,am:()=>bt,an:()=>bs,ao:()=>Jt,ap:()=>ct,aq:()=>os,ar:()=>ls,as:()=>Tt,at:()=>ms,au:()=>gt,av:()=>R,aw:()=>rs,ax:()=>ps,ay:()=>Zs,az:()=>Ss,b:()=>mt,c:()=>Ns,d:()=>Et,e:()=>L,f:()=>T,g:()=>ds,h:()=>wt,i:()=>Ht,j:()=>Xt,k:()=>qt,l:()=>zt,m:()=>Mt,n:()=>Dt,o:()=>st,p:()=>Rt,q:()=>q,r:()=>Yt,s:()=>k,t:()=>O,u:()=>vt,v:()=>yt,w:()=>Nt,x:()=>F,y:()=>p,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}}const r=[5,1,2,1,3,1,2,1,4,1,2,1,3,1,2,1],o=[-1,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3];function h(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 u(t){let s=0;return 4294967295n&t||(s=32,t>>=32n),s+h(BigInt.asUintN(32,t))}class a{constructor(t,s){if(this.m_EnvelopeType=1,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 Vt(this.vmin,t)&&Vt(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=mt(this.vmin,this.vmin=this.vmax):this.setEmpty())}isValid(){return this.isEmpty()||this.vmin<=this.vmax}snapClip(t){return Ns(t,this.vmin,this.vmax)}calculateToleranceFromEnvelope(){return this.isEmpty()?ds():(Math.abs(this.vmin)+Math.abs(this.vmax)+1)*ds()}static unit(){return l}normalizeNoNAN(){this.vmin>this.vmax&&(this.vmax=mt(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 l=new a(0,1);class c{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(v.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=Lt(t);const i=((0x7ff0000000000000n&s)>>52n)-1075n;return i>-1023n?(s=i+0x3ffn<<52n,function(t){return kt[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),o=Math.abs(n),h=Math.abs(t.value());i.m_eps=(Math.abs(n)+.5*r*t.m_eps)*t.m_eps+c.ulp(r+h),s.m_eps=(Math.abs(e)+.5*o*t.m_eps)*t.m_eps+c.ulp(o+h)}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)}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 size(){return 1}}function m(t,s){const i=Ot(t),e=Ot(s),n=53-u(i),r=53-u(e);return(n>=0?n:0)+(r>=0?r:0)<=52}function y(t,s){const i=t+s;return i-t===s&&i-s===t}function x(t,s){const i=t-s;return t-i===s&&s+i===t}function f(){return _s()}c.dimensions=1;const d=new c(Math.PI,.5*f()),b=new c(0,0),v=new c(1,0),_=new c(4,0);function w(t,s,i){return t.addE(s.subE(t).mulE(i))}function N(t,s,i){return s.subE(s.subE(t).mulE(v.subE(i)))}function p(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 M(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-M(t/s)}else if(t>.5){const e=1-t,n=Math.log(t)*Math.log(e);i=s-M(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 g(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 M(i)/s}function C(t,s){return t<s?Dt(t,s):Dt(s,t)}function T(t,s){const i=Math.abs(t);return s>=0?i:-i}function R(t){return Math.round(t)}function E(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 I(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?E(t,s,i,e,n):I(t,s,i,e,n)}function D(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(v.subE(e))),n[1]=i[1].subE(i[1].subE(s[1]).mulE(v.subE(e)))}function q(t,s,i){let e;return e=i<=.5?t+(s-t)*i:s-(s-t)*(1-i),e}function z(t,s,i){return t+(s-t)*i}function S(t,s,i){return s-(s-t)*(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.x=s.x-(s.x-t.x)*(1-i),e.y=s.y-(s.y-t.y)*(1-i))}function F(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 k(t){return t*t}function B(t){return t*t*t}function G(t){return 1/Math.sqrt(t)}function L(t){return t<0?-1:t>0?1:0}function O(t,s,i,e){const n=[0],r=[0],o=[0];return tt($(t,i,n),$(s,e,r),o)+(n[0]+r[0]+o[0])}const U=[0],Q=[0];function V(t,s,i){return function(t,s,i,e){const n=tt(t,s,J),r=tt(n,i,K);return tt(r,J[0]+K[0],e)}($(t,s,U),i,U[0],Q)}const j=[0],W=[0],Y=[0],X=[0];function $(t,s,i){const e=t*s;return H(t,j,W),H(s,Y,X),i[0]=W[0]*X[0]-(e-j[0]*Y[0]-W[0]*Y[0]-j[0]*X[0]),e}function H(t,s,i){const e=134217729*t;s[0]=e-(e-t),i[0]=t-s[0]}const J=[0],K=[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,o=.0067291259765625,h=.004626274108886719,u=.0033752918243408203,a=.0025710230693221092;return Ts()*(1-s*(i+s*(e+s*(n+s*(r+s*(o+s*(h+s*(u+s*a))))))))}i=rt(0,s,1)-t*ot(0,s,1)/3}return Ns(i,1,Ts())}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/gs()),s=r-t*gs();return n*(2*t+Math.sin(s))}const o=Ts(),h=Math.floor(r/o);1&h?r=(h+1)*o-r:r-=h*o;const u=Math.sin(r),a=Number.isNaN(i)?it(s):i;let l;if(1===u)l=a+Math.sqrt(1-s)*(r-o);else{const t=r*r;if(.01424*Math.pow(t,4)<=2*_s())l=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),o=Math.sin(10*r);l=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*o)/65536+s*(-693*r+594*t-185.625*i+1.375*e-12.375*n+1.8*o-.125*Math.sin(12*r))/1048576)))))}else{const t=u*u,i=Math.cos(r),e=i*i,n=ht(u,i,s);l=u*(rt(e,n,1)-s*t*ot(e,n,1)/3)}}return 1&h?l=a*(h+1)-l:l+=a*h,n*l}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,o=Math.floor(n/r);1&o?n=(o+1)*r-n:n-=o*r;let h=n<=0?0:n>=r?Ts():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))),o=Math.abs(s*(4944*s-64-31224*s*s+37369*s*s*s)/362880*Math.pow(t,9));if(o<Math.abs(r)*_s())return r;e=r,n=o>.1*r}if(n){const n=1-s,r=1-t/i,o=Math.sqrt(r*r+n*n),h=Math.atan2(n,t+_s());e=Ts()+Math.sqrt(o)*(h-Ts())}let r=0;for(let n=0;n<7;n++){r=et(e,s,i);const o=ht(Math.sin(e),Math.cos(e),s);if(e-=(r-t)/Math.sqrt(o),n>0&&Math.abs(r-t)<=4*_s()*t)break}return e}(n,s,r);return 1&o?h=Ts()*(o+1)-h:h+=Ts()*o,e*h}function rt(t,s,i){(0,e.g)((0!==t?1:0)+(0!==s?1:0)+1>1);let n=t,r=s,o=i;for(;;){const t=Math.sqrt(n*r)+Math.sqrt(r*o)+Math.sqrt(o*n);n=.25*(n+t),r=.25*(r+t),o=.25*(o+t);const s=(n+r+o)/3,i=(s-n)/s,e=(s-r)/s,h=(s-o)/s;if(Math.abs(i)<=.0024&&Math.abs(e)<=.0024&&Math.abs(h)<=.0024){const t=i*e-h*h,n=i*e*h;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 ot(t,s,i){(0,e.g)(0!==t||0!==s);let r=t,o=s,h=i;const u=new n(0);let a=1;for(;;){const t=.2*(r+o+3*h),s=(t-r)/t,i=(t-o)/t,e=(t-h)/t;if(Math.abs(s)<=.0015&&Math.abs(i)<=.0015&&Math.abs(e)<=.0015){const n=s*i,r=e*e,o=n-r,h=n-6*r,l=h+o+o,c=3/26,m=h*(9/22*.25*h-.21428571428571427-1.5*c*e*l),y=e*(1/6*l+e*(-.4090909090909091*o+e*c*n));return 3*u.getResult()+a*(1+m+y)/(t*Math.sqrt(t))}const n=Math.sqrt(r),l=Math.sqrt(o),c=Math.sqrt(h),m=n*(l+c)+l*c;u.add(a/(c*(h+m))),a*=.25,r=.25*(r+m),o=.25*(o+m),h=.25*(h+m)}}function ht(t,s,i){return t<.999?1-i*k(t):1-i+i*k(s)}function ut(t,s,i,n,r){return 0===t?0===n?s:1===n?i:r:1===t?0===n?s:1===n?i:q(s,i,n):(2===t&&(0,e.b)("angular interpolation"),void(0,e.b)(""))}function at(t,s,i,n,r,o,h,u){if(0===t)for(let t=0;t<o;++t)n[t+r]=0===h?s[t]:1===h?i[t]:u;else if(1===t)if(0===h)lt(n,s,r,0,o);else if(1===h)lt(n,i,r,0,o);else for(let t=0;t<o;++t)n[t+r]=q(s[t],i[t],h);else if(2===t)if(0===h)lt(n,s,r,0,o);else if(1===h)lt(n,i,r,0,o);else{let t=0;for(let e=0,u=r;e<o;++e,++u)n[u]=q(s[e],i[e],h),t+=n[u]*n[u];if(t>0){t=Math.sqrt(t);for(let s=r;s<r+o;++s)n[s]/=t}else{for(let t=r;t<r+o;++t)n[t]=0;n[r]=1}}else(0,e.b)("")}function lt(t,s,i,e,n){if(0===n)return;let r=0,o=i,h=e;for(;r++<n;)t[o++]=s[h++]}function ct(t,s,i){let e=0;for(let n=0;!e&&n<i;++n)e=t[n]-s[n];return e}function mt(t,s){return t}function yt(t){t.sort(((t,s)=>t<s?-1:t>s?1:0))}function xt(t,s){const i=t.slice(0,s);yt(i),lt(t,i,0,0,s)}function ft(t,s,i,e){const n=t.slice(s,s+i);n.sort(e),lt(t,n,s,0,i)}function dt(t,s){return t<s?-1:t>s?1:0}function bt(t,s,i,e){return t<i?-1:t>i?1:s<e?-1:s>e?1:0}function vt(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]=mt(t[i],t[i]=t[e]));return 1+i}function _t(t,s){t[s]=t.at(-1),t.pop()}function wt(t,s=!1){return{[Symbol.dispose](){this.bForget||t()},bForget:s}}function Nt(t,s,i){t.length=s,t.fill(i)}function pt(t,s,i){t.length=i;for(let e=0;e<i;++e)t[e]=new s}function Mt(t,s){const i=new Array(s);for(let e=0;e<s;++e)i[e]=new t;return i}function gt(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 Tt(t){return Array.from({length:t},(()=>null))}function Rt(t,s){return Array.from({length:s},(()=>t()))}function Et(t,s){const i=new Array(t);return i.fill(s),i}function It(t,s){return s in t&&1===Object.getOwnPropertyNames(t).length}class Pt{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 Dt(t,s){return{first:t,second:s}}const At=Math.PI,qt=2*Math.PI,zt=.5*Math.PI;class St{constructor(t,s){this.m_cr=t,this.m_cc=s,this.m_v=Et(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 Zt=new ArrayBuffer(8),Ft=new Float64Array(Zt),kt=new BigUint64Array(Zt),Bt=0x0fffffffffffffn;function Gt(){return Number.EPSILON*fs}function Lt(t){return Ft[0]=t,kt[0]}function Ot(t){return Lt(t)&Bt}function Ut(t){return Number((9218868437227405312n&Lt(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 Vt(t,s){return t===s||Number.isNaN(t)&&Number.isNaN(s)}function jt(t,s,i){return t===s||Math.abs(t-s)<=i||Number.isNaN(t)&&Number.isNaN(s)}function Wt(t,s){return t<s?-1:t>s?1:0}function Yt(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 Xt(){return 2147483647}function $t(){return 32767}function Ht(){return 2147483647}function Jt(){return-2147483648}const Kt=2147483647,ts=BigInt(Kt),ss=2166136261,is=16777619,es=14695981039346656037n,ns=1099511628211n;function rs(t){let s=ss;for(let i=0,e=t.length;i<e;++i)s=(s^t.charCodeAt(i))*is;return s&Kt}function os(t,s){return s+2654435769+(t<<6)+(t>>2)&Kt}function hs(t,s){return os(t,cs(s))}function us(t){return os(3735928559,t)}function as(t,s){return os(t,us(s))}function ls(t){return function(t){let s=ss,i=t;return s=(s^255&i)*is,i>>=8,s=(s^255&i)*is,i>>=8,s=(s^255&i)*is,i>>=8,s=(s^255&i)*is,s&Kt}(t)}function cs(t){return Number(function(t){let s=es,i=t;return s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,i>>=8n,s=(s^0xffn&i)*ns,s&ts}(t))}function ms(t){return cs(Lt(function(t){return Is(t)}(t)))}function ys(t){return function(t){return 1103515245*t+12345&2147483647}(t)}const xs=100,fs=100;function ds(){return Number.EPSILON*xs}function bs(){return.38196601125010515}function vs(){return 1.4142135623730951}function _s(){return Number.EPSILON}function ws(t,s,i){return t===s||t===i}function Ns(t,s,i){return t>=s?t<=i?t:i:s}function ps(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 gs(){return At}function Cs(){return qt}function Ts(){return zt}const Rs=3*Ts();function Es(){return Rs}function Is(t){return t+0}function Ps(t){return{v:t}}class Ds{constructor(){this.m_rn=Ps(0n),this.m_rd=Ps(1n),this.m_bNaN=!1,this.m_bNormalized=!1,this.m_power=0,this.m_sign=0}static constructAssign(t,s){const i=t.clone();return void 0!==s&&i.limitPrecisionThis(s),i}static constructDouble(t){return(new Ds).setDouble(t)}static constructInt64(t){return(new Ds).setInt64(t)}static constructRational(t,s){return(new Ds).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 Ds).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=Lt(t),i=(s&Ds.s_em)>>52n,n=!!(s&Ds.s_sm),r=s&Ds.s_fm;if(i===Ds.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.b)("denormalized numbers not yet implemented");const o=i-1023n,h=o>=0n?o:0n,u=o<0n?-o:0n;return this.m_rn.v=(1n<<52n|r)<<h,this.m_rd.v=1n<<52n+u,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(Ds.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(Ds.constructDouble(t))}addDoubleThis(t){return this.addThis(Ds.constructDouble(t))}subDoubleThis(t){return this.subThis(Ds.constructDouble(t))}mul(t){return this.clone().mulThis(t)}mulBigIntThis(t){return this.mulThis(Ds.constructInt64(t))}mulDouble(t){return this.clone().mulThis(Ds.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(Ds.constructDouble(t))}sub(t){return this.clone().subThis(t)}subDouble(t){return this.clone().subThis(Ds.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+=h(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+=h(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=mt(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}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.n)("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),o=Qt(t.m_rd.v);let h,u=t.m_power+Number(r-o);const a=new Ds;Math.abs(u)>200?(1&Math.abs(u)&&(u+=1),h=Ds.constructAssign(t,53).ldexpThis(-u).value(),a.setThis(t).ldexpThis(-u),(0,e.g)(Number.isFinite(h))):(a.setThis(t),h=a.value(),(0,e.g)(Number.isFinite(h)),u=0),h=Math.sqrt(h);const l=Ds.constructDouble(h),c=Ds.constructDouble(n);c.mulThis(l).ldexpThis(1);const m=n*h*2,y=l.clone(),x=new Ds;let f;for(let t=0;t<10;++t){y.mulThis(l),x.setThis(a).subThis(y).absThis();let t=x.value();if(f=1,t<.9)for(;t>m;)t*=t,++f;else f=4;if(x.lte(c))break;for(let t=0;t<f;t++)y.setThis(l).divThis(a).invertThis().addThis(l).ldexpThis(-1).limitPrecisionThis(i),l.setThis(y)}return l.ldexpThis(u/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=Ds.constructDouble(n),o=r.clone();o.sqrThis().mulDoubleThis(3).mulDoubleThis(e),o.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(o))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)}static nan(){return(0,e.g)(0),new Ds}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,o=t.signVal()*t.m_rn.v*this.m_rd.v<<n;return this.m_rn.v=s?r+o:r-o,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}}Ds.s_sm=0x8000000000000000n,Ds.s_em=0x7ff0000000000000n,Ds.s_fm=0x000fffffffffffffn,Ds.s_emax=0x7ffn;const As=Ds.constructInt32(1),qs=Ds.constructInt32(0);function zs(t,s){let i=Ut(t);const e=Ut(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+o[Number(BigInt.asUintN(4,t))]+1}(t)}(t^s)}(Ot(t),Ot(s)),i):i>e?i:e}function Ss(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 Zs(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 Fs(t){const s=Mt(ks,t.length);for(let i=0,e=t.length;i<e;++i)s[i].setCoords(t[i][0],t[i][1]);return s}class ks{static construct(t,s){return new ks(t,s)}constructor(t,s){void 0!==t?(this.x=t,this.y=s):this.x=this.y=Number.NaN}clone(){return new ks(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 ks;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}offset(t,s){const i=ks.distance(t,s),e=ks.construct(this.x,this.y);if(0===i)return ks.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:ks.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(ks.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 ks(this.x+t.x,this.y+t.y)}sub(t){return new ks(this.x-t.x,this.y-t.y)}negateThis(){return this.x=-this.x,this.y=-this.y,this}negate(){return new ks(-this.x,-this.y)}mul(t){return new ks(this.x*t,this.y*t)}mulThis(t){return this.x*=t,this.y*=t,this}divide(t){return new ks(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 ks(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.t)("norm")}}getQuarter(){return ks.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?ks.orientationRobustImpl(ks.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(),o=n.getQuarter();return o===r?ks.orientationRobustImpl(t,i,s,!0):r<o?-1:1}static orientationRobust(t,s,i){return ks.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,o=e.x-i.x,h=e.y-i.y;{const t=ks.getQuarterCoords(n,r)-1,s=ks.getQuarterCoords(o,h)-1,i=ks.d[t][s];if(0!==i)return i}const u=n*h,a=r*o,l=4*_s()*(Math.abs(u)+Math.abs(a)),c=u-a;return Math.abs(c)>=l?c<0?-1:c>0?1:0:ks.orientationRobustExMp(t,s,i,e)}static orientationRobustExMp(t,s,i,e){const n=Ds.constructDouble(s.x),r=Ds.constructDouble(e.x);n.subThis(Ds.constructDouble(t.x)),r.subThis(Ds.constructDouble(i.x));const o=Ds.constructDouble(s.y),h=Ds.constructDouble(e.y);return o.subThis(Ds.constructDouble(t.y)),h.subThis(Ds.constructDouble(i.y)),n.mulThis(h),o.mulThis(r),n.subThis(o),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,o=i.x-t.x,h=i.y-t.y;if(!e){const t=ks.getQuarterCoords(n,r)-1,s=ks.getQuarterCoords(o,h)-1,i=ks.d[t][s];if(0!==i)return i}const u=(Math.abs(n)+Math.abs(r)+Math.abs(o)+Math.abs(h))*(Math.abs(s.x)+Math.abs(s.y)+Math.abs(i.x)+Math.abs(i.y))*8*f(),a=n*h-r*o;if(Math.abs(a)>u)return a<0?-1:1;if(x(s.x,t.x)&&x(i.y,t.y)&&x(s.y,t.y)&&x(i.x,t.x)&&m(n,h)&&m(r,o)){const t=n*h,s=r*o;if(x(t,s)){const i=t-s;return i<0?-1:i>0?1:0}}return ks.orientationRobustMp(t,s,i)}static orientationRobustMp(t,s,i){const e=Ds.constructDouble(s.x),n=Ds.constructDouble(i.x);{const s=Ds.constructDouble(t.x);e.subThis(s),n.subThis(s)}const r=Ds.constructDouble(i.y),o=Ds.constructDouble(s.y);{const s=Ds.constructDouble(t.y);r.subThis(s),o.subThis(s)}return e.mulThis(r),o.mulThis(n),e.subThis(o),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 o=new c,h=new c;o.set(s.x),o.subThis(e.x),h.set(s.y),h.subThis(e.y);const u=new c,a=new c;u.set(i.x),u.subThis(e.x),a.set(i.y),a.subThis(e.y);const l=n.mulE(h).subE(r.mulE(o)),m=o.mulE(a).subE(h.mulE(u)),y=n.mulE(a).subE(r.mulE(u)),x=n.mulE(n).addE(r.mulE(r)),f=o.mulE(o).addE(h.mulE(h)),d=u.mulE(u).addE(a.mulE(a)),b=x.mulE(m).subE(f.mulE(y)).addE(d.mulE(l));if(!b.isFuzzyZero()){const t=b.value();return t<0?-1:t>0?1:0}return ks.inCircleRobustMp(t,s,i,e)}static inCircleRobustMp(t,s,i,e){do{if(!x(t.x,e.x)||!x(t.y,e.y))break;if(!x(s.x,e.x)||!x(s.y,e.y))break;if(!x(i.x,e.x)||!x(i.y,e.y))break;const n=t.x-e.x,r=t.y-e.y,o=s.x-e.x,h=s.y-e.y,u=i.x-e.x,a=i.y-e.y;if(!m(n,h)||!m(r,o))break;if(!m(o,a)||!m(h,u))break;if(!m(n,a)||!m(r,u))break;if(!m(n,n)||!m(r,r))break;if(!m(o,o)||!m(h,h))break;if(!m(u,u)||!m(a,a))break;const l=n*h,c=r*o,f=o*a,d=h*u,b=n*a,v=r*u,_=n*n,w=r*r,N=o*o,p=h*h,M=u*u,g=a*a;if(!x(l,c))break;if(!x(f,d))break;if(!x(b,v))break;if(!y(_,w))break;if(!y(N,p))break;if(!y(M,g))break;const C=l-c,T=f-d,R=b-v,E=_+w,I=N+p,P=M+g;if(!m(E,T))break;if(!m(I,R))break;if(!m(P,C))break;const D=E*T,A=I*R,q=P*C;if(!x(D,A))break;const z=D-A;if(!y(z,q))break;const S=z+q;return S<0?-1:S>0?1:0}while(0);const n=Ds.constructDouble(e.x),r=Ds.constructDouble(e.y),o=Ds.constructDouble(t.x),h=Ds.constructDouble(t.y);o.subThis(n),h.subThis(r);const u=Ds.constructDouble(s.x),a=Ds.constructDouble(s.y);u.subThis(n),a.subThis(r);const l=Ds.constructDouble(i.x),c=Ds.constructDouble(i.y);l.subThis(n),c.subThis(r);const f=o.mul(a).sub(h.mul(u)),d=u.mul(c).sub(a.mul(l)),b=o.mul(c).sub(h.mul(l)),v=o.mul(o).add(h.mul(h)),_=u.mul(u).add(a.mul(a)),w=l.mul(l).add(c.mul(c)),N=v.mul(d).sub(_.mul(b)).add(w.mul(f));return N.LZ()?-1:N.GZ()?1:0}static inCircleRobustMp3Point(t,s,i){const e=Ds.constructDouble(t.x),n=Ds.constructDouble(t.y),r=Ds.constructDouble(s.x),o=Ds.constructDouble(s.y),h=Ds.constructDouble(i.x),u=Ds.constructDouble(i.y),a=h.mul(h).add(u.mul(u)).sub(h.mul(e).add(u.mul(n)).add(h.mul(r)).add(u.mul(o))).add(e.mul(r).add(n.mul(o)));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),o=new c(s.y),h=new c(i.x),u=new c(i.y),a=h.mulE(h).addE(u.mulE(u)).subE(h.mulE(e).addE(u.mulE(n)).addE(h.mulE(r)).addE(u.mulE(o))).addE(e.mulE(r).addE(n.mulE(o)));if(!a.isFuzzyZero()){const t=a.value();return t<0?-1:t>0?1:0}return ks.inCircleRobustMp3Point(t,s,i)}static calculateCircleCenterFromThreePoints(t,s,i){if(t.equals(i)||t.equals(s)||i.equals(s))return ks.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 o=new c(i.y);o.subThis(t.y);const h=e.clone();h.mulThisE(o);let u=n.clone();if(u.mulThisE(r),h.subThisE(u),0===h.value())return ks.getNAN();h.mulThis(2);const a=e.clone();a.mulThisE(e);const l=n.clone();l.mulThisE(n);const m=a.clone();m.addThisE(l);const y=r.clone();y.mulThisE(r);const x=o.clone();x.mulThisE(o);const f=y.clone();f.addThisE(x);const d=n.clone();d.mulThisE(f),u=o.clone(),u.mulThisE(m),d.subThisE(u),d.divThisE(h);const b=e.clone();b.mulThisE(f),u=r.clone(),u.mulThisE(m),b.subThisE(u),b.divThisE(h);const v=ks.construct(t.x-d.value(),t.y+b.value()),_=t.sub(v).length(),w=s.sub(v).length(),N=i.sub(v).length(),p=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(_-w)<=p&&Math.abs(_-N)<=p&&d.eps()<p&&b.eps()<p?v:ks.getNAN()}(t,s,i);return e.isNAN()?function(t,s,i){const e=Ds.constructDouble(s.x);e.subDoubleThis(t.x);const n=Ds.constructDouble(s.y);n.subDoubleThis(t.y);const r=Ds.constructDouble(i.x);r.subDoubleThis(t.x);const o=Ds.constructDouble(i.y);o.subDoubleThis(t.y);const h=e.clone();h.mulThis(o);let u=n.clone();if(u.mulThis(r),h.subThis(u),h.isZero())return ks.getNAN();h.mulDoubleThis(2);const a=e.clone();a.mulThis(e);const l=n.clone();l.mulThis(n);const c=a.clone();c.addThis(l);const m=r.clone();m.mulThis(r);const y=o.clone();y.mulThis(o);const x=m.clone();x.addThis(y);const f=n.clone();f.mulThis(x),u=o.clone(),u.mulThis(c),f.subThis(u),f.divThis(h);const d=e.clone();return d.mulThis(x),u=r.clone(),u.mulThis(c),d.subThis(u),d.divThis(h),ks.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 compareZorder(t,s){const i=ks.c_compare_zorder_xx[t.x<0?1:0]|ks.c_compare_zorder_yy[t.y<0?1:0],e=ks.c_compare_zorder_xx[s.x<0?1:0]|ks.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=zs(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 ks;return Z(t,s,i,e),e}static getClosestCoordinate(t,s,i,e=!1){const n=ks.getNAN();n.setSub(s,t);const r=n.sqrLength();if(0===r)return.5;if(s.isEqualPoint2D(i))return 1;const o=ks.getNAN();o.setSub(i,t);let h=o.dotProduct(n)/r;return e||(h<0?h=0:h>1&&(h=1)),h}static intersectLinesAtOnePoint(t,s,i,e){if(t.equals(s)||i.equals(e))return ks.getNAN();const n=s.x-t.x,r=i.x-e.x,o=s.y-t.y,h=i.y-e.y,u=n*h-r*o;if(!u)return ks.getNAN();const a=u;if(0===a)return ks.getNAN();let l=(i.x-t.x)*h-(i.y-t.y)*r;l/=a;const c=new ks;return Z(t,s,l,c),c.isFinite()?c:ks.getNAN()}toString(){return`[${this.x},${this.y}]`}}ks.dimensions=2,ks.d=[[0,1,0,-1],[-1,0,1,0],[0,-1,0,1],[1,0,-1,0]],ks.c_compare_zorder_xx=[2,0],ks.c_compare_zorder_yy=[1,0]},11878:(t,s,i)=>{i.d(s,{T:()=>h});var e=i(55537),n=i(83661);class r{constructor(t,s,i){if(t instanceof r)return this.data=t.data,this.N=t.N,this.M=t.M,t.data=null,t.N=0,void(t.M=0);this.data=t,this.N=s,this.M=i}assignCopy(t){return this===t||((0,e.g)(this.N*this.M==t.N*t.M),this.data.set(t.data),this.N=t.N,this.M=t.M),this}setZero(){return this.data?.fill(0),this}setIdentity(){for(let t=0;t<this.N;t++)for(let s=0;s<this.M;s++)this.setRowCol(t,s,t===s?1:0);return this}rows(){return this.N}cols(){return this.M}row(t){return(0,e.g)(0),{}}set(t,s){return this.data[t]=s,this}setRowCol(t,s,i){return this.data[t*this.M+s]=i,this}at(t){return this.data[t]}atRowCol(t,s){return this.data[t*this.M+s]}mulScalar(t,s){(0,e.g)(0)}mul(t,s){if((0,e.g)(this.M===t.rows()),(0,e.g)(this.N===s.rows()),(0,e.g)(t.cols()===s.cols()),s===this){const i=new Float64Array(this.N*this.M),e=new r(i,this.N,this.M);return this.mul(t,e),void s.assignCopy(e)}if(s===t){const i=new Float64Array(t.N*t.M),e=new r(i,t.N,t.M);return this.mul(t,e),void s.assignCopy(e)}const i=t.cols();for(let e=0;e<this.N;e++)for(let n=0;n<i;n++){let i=0;for(let s=0;s<this.M;s++)i+=this.atRowCol(e,s)*t.atRowCol(s,n);s.setRowCol(e,n,i)}}mulTranspose(t,s){if((0,e.g)(this.M===t.cols()),(0,e.g)(this.N===s.rows()),(0,e.g)(t.rows()===s.cols()),s===this){const i=new Float64Array(this.N*this.M),e=new r(i,this.N,this.M);return this.mulTranspose(t,e),void s.assignCopy(e)}if(s===t){const i=new Float64Array(t.N*t.M),e=new r(i,t.N,t.M);return this.mulTranspose(t,e),void s.assignCopy(e)}const i=t.rows();for(let e=0;e<this.N;e++)for(let n=0;n<i;n++){let i=0;for(let s=0;s<this.M;s++)i+=this.atRowCol(e,s)*t.atRowCol(n,s);s.setRowCol(e,n,i)}}mulLeft(t,s){(0,e.g)(0)}mulLeftTranspose(t,s){(0,e.g)(0)}mulDiag(t,s){if((0,e.g)(this.M===t.N*t.M),(0,e.g)(this.N===s.rows()),(0,e.g)(this.M===s.cols()),s===this){const i=new Float64Array(this.N*this.M),e=new r(i,this.N,this.M);return this.mulDiag(t,e),void s.assignCopy(e)}const i=this.M;for(let e=0;e<this.N;e++)for(let n=0;n<i;n++)s.setRowCol(e,n,this.atRowCol(e,n)*t.at(n))}transposeInPlace(){if(this.N===this.M){for(let t=0;t<this.N;t++)for(let s=t+1;s<this.M;s++){const i=this.atRowCol(t,s);this.setRowCol(t,s,this.atRowCol(s,t)),this.setRowCol(s,t,i)}return this}const t=new Float64Array(this.N*this.M),s=new r(t,this.N,this.M);return s.assignCopy(this),this.M=(0,n.b)(this.N,this.N=this.M),s.transpose(this),this}transpose(t){if(this!==t){r.checkDims(t,this.M,this.N);for(let s=0;s<this.N;s++)for(let i=0;i<this.M;i++)t.setRowCol(i,s,this.atRowCol(s,i))}else t.transposeInPlace()}add(t,s){}svd(t,s,i,n=!1){if(r.checkDims(t,this.N,this.M),r.checkDims(s,this.M,1),r.checkDims(i,this.M,this.M),n){if((0,e.g)(this.N===this.M),!this.symmetricEigen(s,i))return!1;for(let t=0;t<this.M;++t)s.at(t)<0&&s.set(t,0);return t.assignCopy(i),!0}let o,h,u,a,l,c,m,y=0,x=0,f=0,d=0,b=0;const v=this.M,_=this.N;t.assignCopy(this);const w=new Float64Array(v),N=new r(w,v,1),p=(t,s)=>s>=0?Math.abs(t):-Math.abs(t),M=(t,s)=>{if((t=Math.abs(t))>(s=Math.abs(s))){const i=s/t;return t*Math.sqrt(i*i+1)}if(s>0){const i=t/s;return s*Math.sqrt(i*i+1)}return 0};for(let i=0;i<v;i++){if(y=i+1,N.set(i,d*f),f=a=d=0,i<_){for(let s=i;s<_;s++)d+=Math.abs(t.atRowCol(s,i));if(d){for(let s=i;s<_;s++)t.setRowCol(s,i,t.atRowCol(s,i)/d),a+=t.atRowCol(s,i)*t.atRowCol(s,i);h=t.atRowCol(i,i),f=-p(Math.sqrt(a),h),u=h*f-a,t.setRowCol(i,i,h-f);for(let s=y;s<v;s++){a=0;for(let e=i;e<_;e++)a+=t.atRowCol(e,i)*t.atRowCol(e,s);h=a/u;for(let e=i;e<_;e++)t.setRowCol(e,s,t.atRowCol(e,s)+h*t.atRowCol(e,i))}for(let s=i;s<_;s++)t.setRowCol(s,i,t.atRowCol(s,i)*d)}}if(s.set(i,d*f),f=a=d=0,i<_&&i!==v-1){for(let s=y;s<v;s++)d+=Math.abs(t.atRowCol(i,s));if(d){for(let s=y;s<v;s++)t.setRowCol(i,s,t.atRowCol(i,s)/d),a+=t.atRowCol(i,s)*t.atRowCol(i,s);h=t.atRowCol(i,y),f=-p(Math.sqrt(a),h),u=h*f-a,t.setRowCol(i,y,h-f);for(let s=y;s<v;s++)N.set(s,t.atRowCol(i,s)/u);for(let s=y;s<_;s++){a=0;for(let e=y;e<v;e++)a+=t.atRowCol(s,e)*t.atRowCol(i,e);for(let i=y;i<v;i++)t.setRowCol(s,i,t.atRowCol(s,i)+a*N.at(i))}for(let s=y;s<v;s++)t.setRowCol(i,s,t.atRowCol(i,s)*d)}}const e=Math.abs(s.at(i))+Math.abs(N.at(i));b=e>b?e:b}for(let s=v-1;s>=0;s--){if(s<v-1){if(f){for(let e=y;e<v;e++)i.setRowCol(e,s,t.atRowCol(s,e)/t.atRowCol(s,y)/f);for(let e=y;e<v;e++){a=0;for(let n=y;n<v;n++)a+=t.atRowCol(s,n)*i.atRowCol(n,e);for(let t=y;t<v;t++)i.setRowCol(t,e,i.atRowCol(t,e)+a*i.atRowCol(t,s))}}for(let t=y;t<v;t++)i.setRowCol(s,t,0),i.setRowCol(t,s,0)}i.setRowCol(s,s,1),f=N.at(s),y=s}for(let i=(_<v?_:v)-1;i>=0;i--){y=i+1,f=s.at(i);for(let s=y;s<v;s++)t.setRowCol(i,s,0);if(f){f=1/f;for(let s=y;s<v;s++){a=0;for(let e=y;e<_;e++)a+=t.atRowCol(e,i)*t.atRowCol(e,s);h=a/t.atRowCol(i,i)*f;for(let e=i;e<_;e++)t.setRowCol(e,s,t.atRowCol(e,s)+h*t.atRowCol(e,i))}for(let s=i;s<_;s++)t.setRowCol(s,i,t.atRowCol(s,i)*f)}else for(let s=i;s<_;s++)t.setRowCol(s,i,0);t.setRowCol(i,i,t.atRowCol(i,i)+1)}for(let e=v-1;e>=0;e--)for(let n=1;;n++){let r=1;for(y=e;y>=0;y--){if(x=y-1,Math.abs(N.at(y))+b===b){r=0;break}if(Math.abs(s.at(x))+b===b)break}if(r){o=0,a=1;for(let i=y;i<=e&&(h=a*N.at(i),N.set(i,N.at(i)*o),Math.abs(h)+b!==b);i++){f=s.at(i),u=M(h,f),s.set(i,u),u=1/u,o=f*u,a=-h*u;for(let s=0;s<_;s++)c=t.atRowCol(s,x),m=t.atRowCol(s,i),t.setRowCol(s,x,c*o+m*a),t.setRowCol(s,i,m*o-c*a)}}if(m=s.at(e),y===e){if(m<0){s.set(e,-m);for(let t=0;t<v;t++)i.setRowCol(t,e,-i.atRowCol(t,e))}break}if(100===n)return!1;l=s.at(y),x=e-1,c=s.at(x),f=N.at(x),u=N.at(e),h=((c-m)*(c+m)+(f-u)*(f+u))/(2*u*c),f=M(h,1),h=((l-m)*(l+m)+u*(c/(h+p(f,h))-u))/l,o=a=1;for(let e=y;e<=x;e++){const n=e+1;f=N.at(n),c=s.at(n),u=a*f,f*=o,m=M(h,u),N.set(e,m),o=h/m,a=u/m,h=l*o+f*a,f=f*o-l*a,u=c*a,c*=o;for(let t=0;t<v;t++)l=i.atRowCol(t,e),m=i.atRowCol(t,n),i.setRowCol(t,e,l*o+m*a),i.setRowCol(t,n,m*o-l*a);m=M(h,u),s.set(e,m),m&&(m=1/m,o=h*m,a=u*m),h=o*f+a*c,l=o*c-a*f;for(let s=0;s<_;s++)c=t.atRowCol(s,e),m=t.atRowCol(s,n),t.setRowCol(s,e,c*o+m*a),t.setRowCol(s,n,m*o-c*a)}N.set(y,0),N.set(e,h),s.set(e,l)}const g=new Float64Array(this.N),C=new Float64Array(this.M),T=new r(g,this.N,1),R=new r(C,this.M,1);let E=1;do{E*=3,E++}while(E<=this.M);do{E/=3,E=Math.trunc(E);for(let e=E;e<this.M;e++){const n=s.at(e);for(let s=0;s<this.N;s++)T.set(s,t.atRowCol(s,e));for(let t=0;t<this.M;t++)R.set(t,i.atRowCol(t,e));let r=e;for(;s.at(r-E)<n;){s.set(r,s.at(r-E));for(let s=0;s<this.N;s++)t.setRowCol(s,r,t.atRowCol(s,r-E));for(let t=0;t<this.M;t++)i.setRowCol(t,r,i.atRowCol(t,r-E));if(r-=E,r<E)break}s.set(r,n);for(let s=0;s<this.N;s++)t.setRowCol(s,r,T.at(s));for(let t=0;t<this.M;t++)i.setRowCol(t,r,R.at(t))}}while(E>1);for(let s=0;s<this.M;s++){let e=0;for(let i=0;i<this.N;i++)t.atRowCol(i,s)<0&&e++;for(let t=0;t<this.M;t++)i.atRowCol(t,s)<0&&e++;if(e>Math.trunc((this.N+this.M)/2)){for(let i=0;i<this.N;i++)t.setRowCol(i,s,-t.atRowCol(i,s));for(let t=0;t<this.M;t++)i.setRowCol(t,s,-i.atRowCol(t,s))}}return!0}isSymmetric(){if(this.N!==this.M)return!1;for(let t=0;t<this.N;t++)for(let s=t+1;s<this.M;s++)if(this.atRowCol(t,s)!==this.atRowCol(s,t))return!1;return!0}isZero(){return(0,e.g)(0),!1}isIdentity(){return(0,e.g)(0),!1}equals(t,s){if(void 0!==s&&(0,e.g)(0),this.N!==t.N||this.M!==t.M)return!1;for(let s=0;s<this.N*this.M;s++)if(this.data[s]!==t.data[s])return!1;return!0}maxElement(){return(0,e.g)(0),0}minElement(){return(0,e.g)(0),0}determinant(){if((0,e.g)(this.N===this.M),1===this.N)return this.data[0];if(2===this.N)return this.data[0]*this.data[3]-this.data[1]*this.data[2];if(3===this.N){const t=this;return t.atRowCol(0,0)*(t.atRowCol(1,1)*t.atRowCol(2,2)-t.atRowCol(1,2)*t.atRowCol(2,1))-t.atRowCol(0,1)*(t.atRowCol(1,0)*t.atRowCol(2,2)-t.atRowCol(2,0)*t.atRowCol(1,2))+t.atRowCol(0,2)*(t.atRowCol(1,0)*t.atRowCol(2,1)-t.atRowCol(1,1)*t.atRowCol(2,0))}const t=new Float64Array(this.N*this.N),s=new r(t,this.N,this.N),i=new Float64Array(this.N);if(!this.luDecomposition(s,i))return 0;let n=1;for(let t=0;t<this.N;t++)n*=s.atRowCol(t,t),i[t]!==t&&(n=-n);return n}submatrix(t,s,i){(0,e.g)(0)}inverse(t){(0,e.g)(0)}pseudoInverse(t,s=!1,i=2220446049250313e-31){if(t.setZero(),1===this.N&&1===this.M)return 0!==this.atRowCol(0,0)?t.setRowCol(0,0,1/this.atRowCol(0,0)):t.setRowCol(0,0,0),!0;if(2===this.N&&2===this.M){const s=this.atRowCol(0,0)*this.atRowCol(1,1)-this.atRowCol(0,1)*this.atRowCol(1,0),i=1e-5*(Math.abs(this.atRowCol(0,0)*this.atRowCol(1,1))+Math.abs(this.atRowCol(0,1)*this.atRowCol(1,0)));if(Math.abs(s)>i)return t.setRowCol(0,0,this.atRowCol(1,1)/s),t.setRowCol(0,1,-this.atRowCol(0,1)/s),t.setRowCol(1,0,-this.atRowCol(1,0)/s),t.setRowCol(1,1,this.atRowCol(0,0)/s),!0}const e=new Float64Array(this.N*this.M),n=new r(e,this.N,this.M),o=new Float64Array(this.M),h=new r(o,this.M,1),u=new Float64Array(this.M*this.M),a=new r(u,this.M,this.M);if(!this.svd(n,h,a,s))return!1;const l=Math.max(this.N,this.M),c=i*Math.abs(h.at(0))*l;for(let t=0;t<this.M;t++)h.at(t)>c?h.set(t,1/h.at(t)):h.set(t,0);return a.mulDiag(h,t),t.mulTranspose(n,t),!0}luDecomposition(t,s){return(0,e.g)(0),!1}symmetricEigen(t,s){(0,e.g)(this.rows()===this.cols()),(0,e.g)(this.rows()===t.rows()),(0,e.g)(s.rows()===s.cols()&&s.rows()===this.rows()),(0,e.g)(this.isSymmetric());const i=new Float64Array(this.N*this.M),n=new r(i,this.N,this.M);n.assignCopy(this);const o=100/Number.EPSILON,h=this.rows(),u=new Float64Array(h),a=new Float64Array(h),l=new r(u,h,1),c=new r(a,h,1);for(let s=0;s<h;s++)l.set(s,n.atRowCol(s,s)),t.set(s,n.atRowCol(s,s)),c.set(s,0);s.setIdentity();const m=()=>{const i=l;s.transposeInPlace();let e=1;do{e*=3,e++}while(e<=h);do{e/=3,e=Math.trunc(e);for(let n=e;n<h;n++){const r=t.at(n),o=Math.abs(r);for(let t=0;t<this.M;t++)i.set(t,s.atRowCol(t,n));let h=n;for(;Math.abs(t.at(h-e))<o;){t.set(h,t.at(h-e));for(let t=0;t<this.M;t++)s.setRowCol(t,h,s.atRowCol(t,h-e));if(h-=e,h<e)break}if(h!==n){t.set(h,r);for(let t=0;t<this.M;t++)s.setRowCol(t,h,i.at(t))}}}while(e>1)};for(let i=1;;i++){let e=0;for(let t=1;t<h;t++)for(let s=0;s<t;s++)e+=Math.abs(n.atRowCol(t,s));if(0===e)return m(),!0;const r=i<4?.2*e/(h*h):0;for(let e=0;e<h;e++)for(let u=e+1;u<h;u++){let a=o*Math.abs(n.atRowCol(u,e));if(i>4&&a<=Math.abs(t.at(e))&&a<=Math.abs(t.at(u)))n.setRowCol(u,e,0);else if(Math.abs(n.atRowCol(u,e))>r){let i,r=t.at(u)-t.at(e);if(a<Math.abs(r))i=n.atRowCol(u,e)/r;else{const t=.5*r/n.atRowCol(u,e);i=1/(Math.abs(t)+Math.sqrt(1+t*t)),t<0&&(i=-i)}const o=1/Math.sqrt(1+i*i),l=i*o,m=l/(1+o);r=i*n.atRowCol(u,e),c.set(e,c.at(e)-r),c.set(u,c.at(u)+r),t.set(e,t.at(e)-r),t.set(u,t.at(u)+r),n.setRowCol(u,e,0);let y=0;for(;y<e;y++)a=n.atRowCol(e,y),r=n.atRowCol(u,y),n.setRowCol(e,y,a-l*(r+a*m)),n.setRowCol(u,y,r+l*(a-r*m));for(y++;y<u;y++)a=n.atRowCol(y,e),r=n.atRowCol(u,y),n.setRowCol(y,e,a-l*(r+a*m)),n.setRowCol(u,y,r+l*(a-r*m));for(y++;y<h;y++)a=n.atRowCol(y,e),r=n.atRowCol(y,u),n.setRowCol(y,e,a-l*(r+a*m)),n.setRowCol(y,u,r+l*(a-r*m));for(y=0;y<h;y++)a=s.atRowCol(e,y),r=s.atRowCol(u,y),s.setRowCol(e,y,a-l*(r+a*m)),s.setRowCol(u,y,r+l*(a-r*m))}}for(let s=0;s<h;s++)l.set(s,l.at(s)+c.at(s)),t.set(s,l.at(s)),c.set(s,0)}}static checkDims(t,s,i){(0,e.g)(t.rows()===s&&t.cols()===i)}}class o extends r{constructor(t){if(t.copy){const s=new Float64Array(t.copy.N*t.copy.M);return super(s,t.copy.N,t.copy.M),this.buffer=s,void this.assignCopy(t.copy)}const s=new Float64Array(t.NN*t.MM);super(s,t.NN,t.MM),this.buffer=s,t.initializerList&&(0,n.a)(this.buffer,t.initializerList,0,0,t.initializerList.length)}assignCopy(t){return this===t||super.assignCopy(t),this}}class h{constructor(t){this.m_TransformationType=1,void 0===t?this.setIdentity():t instanceof h?this.set(t):this.setScale(t)}set(t){return this.xx=t.xx,this.xy=t.xy,this.xd=t.xd,this.yx=t.yx,this.yy=t.yy,this.yd=t.yd,this}clone(){return(new h).set(this)}setZero(){this.xx=0,this.yy=0,this.xy=0,this.yx=0,this.xd=0,this.yd=0}isEqual(t){return this===t||this.xx===t.xx&&this.xy===t.xy&&this.xd===t.xd&&this.yx===t.yx&&this.yy===t.yy&&this.yd===t.yd}transformInPlace(t){const s=this.xx*t.x+this.xy*t.y+this.xd,i=this.yx*t.x+this.yy*t.y+this.yd;t.x=s,t.y=i}transform(t){const s=t.clone();return this.transformInPlace(s),s}queryTransform(t,s){const i=this.xx*t.x+this.xy*t.y+this.xd,e=this.yx*t.x+this.yy*t.y+this.yd;s.setCoords(i,e)}transformEnvInPlace(t){if(t.isEmpty())return;const s=(0,n.m)(n.P,4);t.queryCorners(s),this.transformPoints2D(s,4,s),t.setFromPoints(s,4)}queryTransformEnv(t,s){(0,e.g)(0)}transformPoints2D(t,s,i){for(let e=0;e<s;++e)this.queryTransform(t[e],i[e])}transformInterleavedPoints(t,s,i){s*=2;const e=n.P.getNAN();for(let n=0;n<s;n+=2)e.x=t[n],e.y=t[n+1],this.transformInPlace(e),i[n]=e.x,i[n+1]=e.y}multiply(t){return h.st_multiply(this,t,this),this}mulLeft(t){return(0,e.g)(0),this}static st_multiply(t,s,i){const e=t.xx*s.xx+t.yx*s.xy,n=t.xy*s.xx+t.yy*s.xy,r=t.xd*s.xx+t.yd*s.xy+s.xd,o=t.xx*s.yx+t.yx*s.yy,h=t.xy*s.yx+t.yy*s.yy,u=t.xd*s.yx+t.yd*s.yy+s.yd;i.xx=e,i.xy=n,i.xd=r,i.yx=o,i.yy=h,i.yd=u}getCoefficients(t){(0,e.g)(t.length>=6),t[0]=this.xx,t[1]=this.xy,t[2]=this.xd,t[3]=this.yx,t[4]=this.yy,t[5]=this.yd}setCoefficients(t){(0,e.g)(t.length>=6),this.xx=t[0],this.xy=t[1],this.xd=t[2],this.yx=t[3],this.yy=t[4],this.yd=t[5]}copyTo(t){(0,e.g)(0)}initializeFromRect(t,s){t.isEmpty()||s.isEmpty()||!t.width()||!t.height()?this.setZero():(this.xy=this.yx=0,this.xx=s.width()/t.width(),this.yy=s.height()/t.height(),this.xd=s.xmin-t.xmin*this.xx,this.yd=s.ymin-t.ymin*this.yy)}initializeFromRectIsotropic(t,s){if(t.isEmpty()||!t.width()||!t.height()||s.isEmpty())this.setZero();else{this.yx=0,this.xy=0,this.xx=s.width()/t.width(),this.yy=s.height()/t.height(),this.xx>this.yy?this.xx=this.yy:this.yy=this.xx;const i=s.getCenter(),e=t.getCenter();this.xd=i.x-e.x*this.xx,this.yd=i.y-e.y*this.yy}}initializeFromTwoPointsArray(t,s){if(t[0].equals(s[0])&&t[1].equals(s[1]))return void this.setIdentity();if(t[0].equals(t[1])){if(s[0].equals(s[1]))return void this.setShift(s[0].sub(t[0]));(0,e.t)("")}if(!t[0].equals(t[1])&&s[0].equals(s[1]))return this.setZero(),void this.shift(s[0]);this.setShiftCoords(-t[0].x,-t[0].y);const i=n.P.distance(t[0],t[1]),r=n.P.distance(s[0],s[1]),o=r/i;this.scale(o,o);const h=t[1].sub(t[0]);h.divThis(i);const u=s[1].sub(s[0]);u.divThis(r);const a=h.crossProduct(u),l=h.dotProduct(u);this.rotate(l,a),this.shiftCoords(s[0].x,s[0].y)}initializeFromTwoPoints(t,s,i,e){const n=[t,s],r=[i,e];this.initializeFromTwoPointsArray(n,r)}transformSizeInPlace(t){(0,e.g)(0)}transformSize(t,s){(0,e.g)(0)}transformTol(t){return(0,e.g)(0),0}transformWithoutTranslateArray(t,s,i){for(let e=0;e<s;++e)this.transformWithoutTranslate(t[e],i[e])}transformWithoutTranslateInPlace(t){const s=this.xx*t.x+this.xy*t.y,i=this.yx*t.x+this.yy*t.y;t.setCoords(s,i)}transformWithoutTranslate(t,s){const i=this.xx*t.x+this.xy*t.y,e=this.yx*t.x+this.yy*t.y;s.setCoords(i,e)}setIdentity(){this.xx=1,this.xy=0,this.xd=0,this.yx=0,this.yy=1,this.yd=0}isIdentity(){return!(1!==this.xx||1!==this.yy||this.xy||this.xd||this.yx||this.yd)}isIdentityTol(t){const s=t*t;return!((0,n.s)(this.xd)+(0,n.s)(this.yd)>s||(0,n.s)(this.xy+this.xd)+(0,n.s)(this.yy+this.yd-1)>s||(0,n.s)(this.xx+this.xd-1)+(0,n.s)(this.yx+this.yd)>s)}isReflective(){return this.xx*this.yy-this.yx*this.xy<0}isUniform(t){const s=this.xx*this.xx+this.yx*this.yx,i=this.xy*this.xy+this.yy*this.yy,e=(s+i)*t;return Math.abs(s-i)<=e&&Math.abs(this.xx*this.xy+this.yx*this.yy)<=e}isUniformNoRotation(){return 0!==this.xx&&Math.abs(this.xx)===Math.abs(this.yy)&&0===this.xy&&0===this.yx}isTranslate(){return 1===this.xx&&1===this.yy&&!this.xy&&!this.yx}isTranslateTol(t){const s=new n.P;return s.setCoords(0,1),this.transformWithoutTranslateInPlace(s),s.y-=1,!(s.sqrLength()>t*t)&&(s.setCoords(1,0),this.transformWithoutTranslateInPlace(s),s.x-=1,s.sqrLength()<=t*t)}isOrthonormal(t){const s=new h;return s.xx=this.xx*this.xx+this.xy*this.xy,s.xy=this.xx*this.yx+this.xy*this.yy,s.yx=this.yx*this.xx+this.yy*this.xy,s.yy=this.yx*this.yx+this.yy*this.yy,s.xd=0,s.yd=0,s.isIdentityTol(t)}isDegenerate(t){return Math.abs(this.xx*this.yy-this.yx*this.xy)<=2*t*(Math.abs(this.xx*this.yy)+Math.abs(this.yx*this.xy))}isZero(){return 0===this.xx&&0===this.yy&&0===this.xy&&0===this.yx&&0===this.xd&&0===this.yd}isScaleAndTranslateTol(t){return this.xy*this.xy+this.yx*this.yx<=(this.xx*this.xx+this.yy*this.yy)*t}setTranslate(t,s){return this.xx=1,this.xy=0,this.xd=t,this.yx=0,this.yy=1,this.yd=s,this}setShiftCoords(t,s){return this.xx=1,this.xy=0,this.xd=t,this.yx=0,this.yy=1,this.yd=s,this}setShift(t){return this.xx=1,this.xy=0,this.xd=t.x,this.yx=0,this.yy=1,this.yd=t.y,this}setScaleCoords(t,s){return this.xx=t,this.xy=0,this.xd=0,this.yx=0,this.yy=s,this.yd=0,this}setScale(t){return this.setScaleCoords(t,t),this}setFlipX(t,s){return this.xx=-1,this.xy=0,this.xd=t+s,this.yx=0,this.yy=1,this.yd=0,this}setFlipY(t,s){return this.xx=1,this.xy=0,this.xd=0,this.yx=0,this.yy=-1,this.yd=t+s,this}setShear(t,s){return this.xx=1,this.xy=t,this.xd=0,this.yx=s,this.yy=1,this.yd=0,this}scale(t,s){return this.xx*=t,this.xy*=t,this.xd*=t,this.yx*=s,this.yy*=s,this.yd*=s,this}setRotateAngle(t){return this.setRotate(Math.cos(t),Math.sin(t))}setRotate(t,s){return this.xx=t,this.xy=-s,this.xd=0,this.yx=s,this.yy=t,this.yd=0,this}setRotateAngleAbout(t,s){return this.setRotateAbout(Math.cos(t),Math.sin(t),s)}setRotateAbout(t,s,i){return this.setTranslate(-i.x,-i.y),this.rotate(t,s),this.translate(i.x,i.y)}setSwapCoordinates(){return this.xx=0,this.xy=1,this.xd=0,this.yx=1,this.yy=0,this.yd=0,this}setRotateCw90(){return this.xx=0,this.xy=1,this.xd=0,this.yx=-1,this.yy=0,this.yd=0,this}setRotateCcw90(){return this.xx=0,this.xy=-1,this.xd=0,this.yx=1,this.yy=0,this.yd=0,this}shiftCoords(t,s){return this.xd+=t,this.yd+=s,this}shift(t){return this.xd+=t.x,this.yd+=t.y,this}translate(t,s){return this.xd+=t,this.yd+=s,this}flipX(t,s){return this.xx=-this.xx,this.xy=-this.xy,this.xd=t+s-this.xd,this}flipY(t,s){return this.yx=-this.yx,this.yy=-this.yy,this.yd=t+s-this.yd,this}shear(t,s){const i=new h;return i.setShear(t,s),this.multiply(i)}rotateAngle(t){const s=new h;return s.setRotateAngle(t),this.multiply(s)}rotate(t,s){const i=new h;return i.setRotate(t,s),this.multiply(i)}rotateAbout(t,s,i){return this.translate(-i.x,-i.y),this.rotate(t,s),this.translate(i.x,i.y)}rotateAngleAbout(t,s){return this.rotateAbout(Math.cos(t),Math.sin(t),s)}setInvert(t){return this.set(t),this.invertThis()}invertThis(){let t=this.xx*this.yy-this.xy*this.yx;if(0===t)return this.setZero(),this;t=1/t;const s=(this.xy*this.yd-this.xd*this.yy)*t,i=(this.xd*this.yx-this.xx*this.yd)*t,e=this.yy*t,n=-this.xy*t,r=-this.yx*t,o=this.xx*t;return this.xd=s,this.yd=i,this.xx=e,this.yy=o,this.xy=n,this.yx=r,this}invertPrecise(t){return this.set(t),this.invertPreciseThis()}invertPreciseThis(){const t=n.M.constructDouble(this.xy),s=n.M.constructDouble(this.xx),i=s.mulDouble(this.yy).sub(t.mulDouble(this.yx));if(i.isZero())return this.setZero(),this;const e=i.clone();e.invertThis();const r=n.M.constructDouble(this.xd),o=t.mulDouble(this.yd).sub(r.mulDouble(this.yy)).mul(e).toDouble(),h=r.mulDouble(this.yx).sub(s.mulDouble(this.yd)).mul(e).toDouble(),u=e.mulDouble(this.yy).toDouble(),a=e.mulDouble(-this.xy).toDouble(),l=e.mulDouble(-this.yx).toDouble(),c=e.mulDouble(this.xx).toDouble();return this.xd=o,this.yd=h,this.xx=u,this.yy=c,this.xy=a,this.yx=l,this}extractScaleTransform(t,s){const i=Math.sqrt(this.xx*this.xx+this.xy*this.xy),e=Math.sqrt(this.yx*this.yx+this.yy*this.yy);s.setScaleCoords(1/i,1/e),s.multiply(this),t.setScaleCoords(i,e)}setFromTwoTriangles(t,s){let i=!0;for(let e=0;e<3;++e)i=i&&t[e].equals(s[e]);if(i)return this.setIdentity(),!0;const e=new n.P;e.setSub(t[0],t[1]);const r=new n.P;r.setSub(t[0],t[2]);const o=new n.P;o.setSub(s[0],s[1]);const h=new n.P;h.setSub(s[0],s[2]);const u=4*Number.EPSILON*(Math.abs(e.x*r.y)+Math.abs(r.x*e.y));let a=e.x*r.y-e.y*r.x;return Math.abs(a)>u?(a=1/a,this.xx=(o.x*r.y-e.y*h.x)*a,this.xy=(e.x*h.x-o.x*r.x)*a,this.yx=(o.y*r.y-e.y*h.y)*a,this.yy=(e.x*h.y-o.y*r.x)*a,this.xd=s[0].x-(this.xx*t[0].x+this.xy*t[0].y),this.yd=s[0].y-(this.yx*t[0].x+this.yy*t[0].y),!0):(this.setZero(),!1)}initializeFromControlPoints(t,s,i,r,l=null){return 0===s?(this.setIdentity(),void(l&&l.setIdentity())):1===s?(this.setShift(r[0].sub(i[0])),void(l&&l.setShift(i[0].sub(r[0])))):(s<3&&(t=1),void(4===t&&s>2?function(t,s,i,r,h){const u=n.P.average(i,s),l=n.P.average(r,s),c=new o({NN:2,MM:2});c.setZero();const m=new o({NN:2,MM:2});m.setZero();for(let t=0;t<s;++t)c.setRowCol(0,0,c.atRowCol(0,0)+(i[t].x-u.x)*(i[t].x-u.x)),c.setRowCol(0,1,c.atRowCol(0,1)+(i[t].x-u.x)*(i[t].y-u.y)),c.setRowCol(1,1,c.atRowCol(1,1)+(i[t].y-u.y)*(i[t].y-u.y)),m.setRowCol(0,0,m.atRowCol(0,0)+(r[t].x-l.x)*(i[t].x-u.x)),m.setRowCol(0,1,m.atRowCol(0,1)+(r[t].x-l.x)*(i[t].y-u.y)),m.setRowCol(1,0,m.atRowCol(1,0)+(r[t].y-l.y)*(i[t].x-u.x)),m.setRowCol(1,1,m.atRowCol(1,1)+(r[t].y-l.y)*(i[t].y-u.y));c.setRowCol(1,0,c.atRowCol(0,1));const y=new o({NN:2,MM:2});c.pseudoInverse(y,!0)||(0,e.a)("Failed to compute pseudo inverse"),m.mul(y,m),a(t,m);const x=u.clone();t.transformInPlace(x),t.xd=l.x-x.x,t.yd=l.y-x.y,h&&(m.pseudoInverse(y,!1)||(0,e.a)("Failed to compute pseudo inverse"),a(h,y),h.transformInPlace(l),h.xd=u.x-l.x,h.yd=u.y-l.y)}(this,s,i,r,l):function(t,s,i,r,l,c){(0,e.g)(1===t||0===t||2===t||3===t),s.setIdentity();const m=n.P.average(r,i),y=n.P.average(l,i);if((0,e.g)(t<u.length&&t>0),8&u[t]){const n=new o({NN:2,MM:2});n.setZero();for(let t=0;t<i;++t)n.setRowCol(0,0,n.atRowCol(0,0)+(l[t].x-y.x)*(r[t].x-m.x)),n.setRowCol(1,0,n.atRowCol(1,0)+(l[t].x-y.x)*(r[t].y-m.y)),n.setRowCol(0,1,n.atRowCol(0,1)+(l[t].y-y.y)*(r[t].x-m.x)),n.setRowCol(1,1,n.atRowCol(1,1)+(l[t].y-y.y)*(r[t].y-m.y));const c=new o({NN:2,MM:2}),x=new o({NN:2,MM:1}),f=new o({NN:2,MM:2});n.svd(c,x,f)||(0,e.a)("Failed to compute svd");const d=new o({NN:2,MM:2});c.transpose(d);const b=new o({NN:2,MM:2});f.mul(d,b),32&u[t]||b.determinant()<0&&(d.setRowCol(1,0,-d.atRowCol(1,0)),d.setRowCol(1,1,-d.atRowCol(1,1)),f.mul(d,b));const v=new h;a(v,b),s.set(v)}if(2&u[t]){let t=0,e=0;for(let n=0;n<i;++n){const i=r[n].sub(m);t+=i.sqrLength(),s.transformInPlace(i),e+=i.dotProduct(l[n].sub(y))}if(0===t)0===e?s.setIdentity():s.setZero();else{const i=e/t;s.scale(i,i)}}else(0,e.g)(!(4&u[t]));const x=m.clone();s.transformInPlace(x),s.xd=y.x-x.x,s.yd=y.y-x.y,c&&(c.set(s),c.invertThis(),c.isZero()&&(c.xd=m.x,c.yd=m.y))}(t,this,s,i,r,l)))}calculateErrors(t,s,i,r){(0,e.g)(t>0&&null!==s&&null!==i);let o=0;for(let e=0;e<t;++e){const t=this.transform(s[e]),h=n.P.sqrDistance(i[e],t);o+=h,r&&(r[e]=Math.sqrt(h))}return Math.sqrt(o/t)}}const u=[43,11,41,9,61];function a(t,s){(0,e.g)(!(2!==s.rows()&&3!==s.rows()||2!==s.cols()&&3!==s.rows())),t.xx=s.atRowCol(0,0),t.xy=s.atRowCol(0,1),t.yx=s.atRowCol(1,0),t.yy=s.atRowCol(1,1),3===s.cols()?(t.xd=s.atRowCol(0,2),t.yd=s.atRowCol(1,2)):(t.xd=0,t.yd=0)}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4167,6061],{28879:(e,t,n)=>{n.r(t),n.d(t,{OperatorGeodeticLength:()=>m});var s=n(90237),o=n(55537),r=n(47591),a=n(35368),i=n(83661),c=n(12189),g=n(5247);class m{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n,s){if(4===n)return(new r.O).execute(e,t,s);if(0===t.getCoordinateSystemType()&&(0,o.t)(""),(0,o.d)(e),e.isEmpty()||e.getDimension()<1)return 0;const m=t.getGCS(),u=(0,c.G)();m.querySpheroidData(u);const h=u.majorSemiAxis,l=u.e2,y=m.getUnit().getUnitToBaseFactor();let x;const p=e.getGeometryType();if(p===o.G.enumPolygon?x=e.getBoundary():p===o.G.enumEnvelope?x=(0,a.c)(e):(0,o.f)(p)?(x=new a.P({vd:e.getDescription()}),x.addSegment(e,!0)):x=e,x.hasNonLinearSegments()&&(x=(new g.O).execute(x,0,t.getTolerance(0),0,s)),m!==t){const n=t.getSRToGCSTransform();if(t.isPannable()){x=(0,c.w)(x,t),p===o.G.enumPolyline&&x===e&&(x=e.clone());const n=new i.E;t.getPannableExtent().queryIntervalX(n);for(let e=0,t=x.getPointCount();e<t;e++){const t=x.getXY(e);t.x=(0,c._)(t.x,n),x.setXY(e,t)}}const r=x.createInstance();x=(0,c.$)(n,x,r,s)?r:(new c.v).execute(x,n,s)}return this._ExecuteMultiPathGeodeticLength(x,n,h,l,y)}_ExecuteMultiPathGeodeticLength(e,t,n,o,r){const a={stack:[],error:void 0,hasError:!1};try{const i=(0,s.b)(a,new c.E,!1);let g=0;const m=e.querySegmentIterator();for(;m.nextPath();)for(;m.hasNextSegment();){const e=m.nextSegment(),s=e.getStartXY(),a=e.getEndXY();s.scale(r),a.scale(r),c.F.geodeticDistance(n,o,s.x,s.y,a.x,a.y,i,null,null,t),g+=i.val}return g}catch(e){a.error=e,a.hasError=!0}finally{(0,s.c)(a)}}}},47591:(e,t,n)=>{n.d(t,{O:()=>x});var s=n(55537),o=n(12189),r=n(35368),a=n(83661),i=n(95213),c=n(79187),g=n(5247),m=n(31139);function u(){return{m_pGcs:new a.P,m_xyz:new i.h,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:h,setLength:l,assign:y}}function h(e,t,n,s){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(s),this.m_geoLength=n}function l(e){this.m_geoLength=e}function y(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class x{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,n,s,r){if(e.hasNonLinearSegments()&&(e=(new g.O).execute(e,0,t.getTolerance(0),0,r)),t.isPannable()){let s=90,a=-90;if(1===n.getUnit().getUnitToBaseFactor()&&(s*=Math.PI/180,a*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const n=[0,0,0,0];e=t.getPECoordSys(),n[0]=0,n[1]=s,n[2]=0,n[3]=a,o.Z.geogToProj(e,2,n),s=n[1],a=n[3]}const i=new c.J;e.queryEnvelope(i),i.ymin=a,i.ymax=s,e=(new m.O).execute(e,i,t,r)}else{const n=t.getPCSHorizon();if((e=(new o.f).execute(e,n,t,r))===n){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,n,s,1,r)}_ExecuteIterativeApproach(e,t,n,r,c,g){const m=(0,o.G)();n.querySpheroidData(m);const h=m.majorSemiAxis,l=m.e2,y=n.getUnit().getUnitToBaseFactor(),x=(0,a.p)(u,40),
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4167,6061],{28879:(e,t,n)=>{n.r(t),n.d(t,{OperatorGeodeticLength:()=>m});var s=n(90237),o=n(55537),r=n(47591),a=n(35368),i=n(83661),c=n(12189),g=n(5247);class m{getOperatorType(){return 10311}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}execute(e,t,n,s){if(4===n)return(new r.O).execute(e,t,s);if(0===t.getCoordinateSystemType()&&(0,o.t)(""),(0,o.d)(e),e.isEmpty()||e.getDimension()<1)return 0;const m=t.getGCS(),u=(0,c.G)();m.querySpheroidData(u);const h=u.majorSemiAxis,l=u.e2,y=m.getUnit().getUnitToBaseFactor();let x;const p=e.getGeometryType();if(p===o.G.enumPolygon?x=e.getBoundary():p===o.G.enumEnvelope?x=(0,a.c)(e):(0,o.f)(p)?(x=new a.P({vd:e.getDescription()}),x.addSegment(e,!0)):x=e,x.hasNonLinearSegments()&&(x=(new g.O).execute(x,0,t.getTolerance(0),0,s)),m!==t){const n=t.getSRToGCSTransform();if(t.isPannable()){x=(0,c.w)(x,t),p===o.G.enumPolyline&&x===e&&(x=e.clone());const n=new i.E;t.getPannableExtent().queryIntervalX(n);for(let e=0,t=x.getPointCount();e<t;e++){const t=x.getXY(e);t.x=(0,c._)(t.x,n),x.setXY(e,t)}}const r=x.createInstance();x=(0,c.$)(n,x,r,s)?r:(new c.v).execute(x,n,s)}return this._ExecuteMultiPathGeodeticLength(x,n,h,l,y)}_ExecuteMultiPathGeodeticLength(e,t,n,o,r){const a={stack:[],error:void 0,hasError:!1};try{const i=(0,s.b)(a,new c.E,!1);let g=0;const m=e.querySegmentIterator();for(;m.nextPath();)for(;m.hasNextSegment();){const e=m.nextSegment(),s=e.getStartXY(),a=e.getEndXY();s.scale(r),a.scale(r),c.F.geodeticDistance(n,o,s.x,s.y,a.x,a.y,i,null,null,t),g+=i.val}return g}catch(e){a.error=e,a.hasError=!0}finally{(0,s.c)(a)}}}},47591:(e,t,n)=>{n.d(t,{O:()=>x});var s=n(55537),o=n(12189),r=n(35368),a=n(83661),i=n(95213),c=n(79187),g=n(5247),m=n(31139);function u(){return{m_pGcs:new a.P,m_xyz:new i.h,m_factor:Number.NaN,m_geoLength:Number.NaN,setValues:h,setLength:l,assign:y}}function h(e,t,n,s){this.m_factor=e,this.m_pGcs.assign(t),this.m_xyz.assign(s),this.m_geoLength=n}function l(e){this.m_geoLength=e}function y(e){this.m_pGcs.assign(e.m_pGcs),this.m_xyz.assign(e.m_xyz),this.m_factor=e.m_factor,this.m_geoLength=e.m_geoLength}class x{getOperatorType(){return 10315}supportsCurves(){return!0}accelerateGeometry(e,t,n){return!1}canAccelerateGeometry(e){return!1}_ExecuteShapePreservingLength(e,t,n,s,r){if(e.hasNonLinearSegments()&&(e=(new g.O).execute(e,0,t.getTolerance(0),0,r)),t.isPannable()){let s=90,a=-90;if(1===n.getUnit().getUnitToBaseFactor()&&(s*=Math.PI/180,a*=Math.PI/180),2===t.getCoordinateSystemType()){let e=null;const n=[0,0,0,0];e=t.getPECoordSys(),n[0]=0,n[1]=s,n[2]=0,n[3]=a,o.Z.geogToProj(e,2,n),s=n[1],a=n[3]}const i=new c.J;e.queryEnvelope(i),i.ymin=a,i.ymax=s,e=(new m.O).execute(e,i,t,r)}else{const n=t.getPCSHorizon();if((e=(new o.f).execute(e,n,t,r))===n){const t=e.clone();e=t}}return e.isEmpty()?0:this._ExecuteIterativeApproach(e,t,n,s,1,r)}_ExecuteIterativeApproach(e,t,n,r,c,g){const m=(0,o.G)();n.querySpheroidData(m);const h=m.majorSemiAxis,l=m.e2,y=n.getUnit().getUnitToBaseFactor(),x=(0,a.p)(u,40),d=(0,a.d)(40,Number.NaN),f=u(),G=u();let S;const P=[0,0,0,0],w=t.getPECoordSys(),C=new a.P,E=new a.P,v=new a.P,N=new a.P,T=new a.P;let L=0;const b=e.querySegmentIterator();for(;b.nextPath();)for(;b.hasNextSegment();){const e=b.nextSegment();C.assign(e.getStartXY()),E.assign(e.getEndXY()),2===t.getCoordinateSystemType()?(P[0]=C.x,P[1]=C.y,P[2]=E.x,P[3]=E.y,o.Z.projToGeog(w,2,P),v.x=P[0]*y,v.y=P[1]*y,N.x=P[2]*y,N.y=P[3]*y):(v.setCoordsPoint2D(C),N.setCoordsPoint2D(E),v.scale(y),N.scale(y));const n=new i.h,r=new i.h;p(h,l,v,n),p(h,l,N,r);let a=_(h,n,r);f.setValues(0,v,Number.NaN,n),G.setValues(1,N,a,r),S=c,x[0].assign(G),d[0]=c;let g=0;for(;;){g>128&&(0,s.c)("iterations exceeded");const n=.5*(f.m_factor+G.m_factor),r=e.getCoord2D(n);2===t.getCoordinateSystemType()?(P[0]=r.x,P[1]=r.y,o.Z.projToGeog(w,1,P),T.x=P[0]*y,T.y=P[1]*y):(T.setCoordsPoint2D(r),T.scale(y)),v.setCoordsPoint2D(f.m_pGcs),N.setCoordsPoint2D(G.m_pGcs);const m=new i.h;p(h,l,T,m);const u=_(h,f.m_xyz,m),C=_(h,G.m_xyz,m);a=G.m_geoLength,Number.isNaN(a)&&(a=_(h,f.m_xyz,G.m_xyz));const E=u+C,b=S===c&&E>=20&&Math.abs(E-a)>1e-8*(a+E);if(g+2<40&&(b||Math.abs(E-a)>0&&S>0))G.setLength(C),x[g].assign(G),G.setValues(n,T,u,m),x[++g].assign(G),b?(S=c,d[g]=c):(S--,d[g-1]=S,d[g]=S);else{if(L+=E,0===g)break;f.assign(G),G.assign(x[--g]),S=d[g]}}}return L}execute(e,t,n){if(t&&0!==t.getCoordinateSystemType()||(0,s.t)(""),e.isEmpty()||e.getDimension()<1)return 0;let a=null;const i=t.getGCS();i!==t&&(a=(0,o.p)(t,i,null));const c=e.getGeometryType();if(c===s.G.enumEnvelope){const s=new r.a;return s.addEnvelope(e,!1),this._ExecuteShapePreservingLength(s,t,i,a,n)}if((0,s.f)(c)){const s=new r.P;return s.addSegment(e,!0),this._ExecuteShapePreservingLength(s,t,i,a,n)}return this._ExecuteShapePreservingLength(e,t,i,a,n)}}function p(e,t,n,s){s.assign((0,o.Q)(e,t,n))}function _(e,t,n){const s=e,o=new i.h;o.setSub(t,n);const r=o.length();return 2*s*Math.asin(r/(2*s))}},76061:(e,t,n)=>{n.d(t,{G:()=>s,S:()=>o});class s{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}class o extends s{constructor(e){super(),this.m_iGeom=-1,this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1123],{1123:(e,t,n)=>{n.r(t),n.d(t,{invokeGeometryOp:()=>c});var i=n(65864);function r(e,t){let n;return{loaded:!1,load:()=>n??=t().then((t=>{o[e]={loaded:!0,execute:t}}))}}function a(e){return null==e?null:e.toJSON()}const o={disjoint:r("disjoint",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(1598)]).then(n.bind(n,7978)).then((e=>e.execute)))),intersects:r("intersects",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(7360)]).then(n.bind(n,55284)).then((e=>e.execute)))),touches:r("touches",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(2503)]).then(n.bind(n,83547)).then((e=>e.execute)))),crosses:r("crosses",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9700)]).then(n.bind(n,85672)).then((e=>e.execute)))),within:r("within",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9265)]).then(n.bind(n,85445)).then((e=>e.execute)))),contains:r("contains",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(1867)]).then(n.bind(n,29127)).then((e=>e.execute)))),overlaps:r("overlaps",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(1414)]).then(n.bind(n,46178)).then((e=>e.execute)))),equals:r("equals",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(5180)]).then(n.bind(n,45328));return(t,n)=>e.execute((0,i.rS)(t),(0,i.rS)(n))})),relate:r("relate",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(5552)]).then(n.bind(n,43628));return(t,n,r)=>e.execute((0,i.rS)(t),(0,i.rS)(n),r)})),intersection:r("intersection",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9263)]).then(n.bind(n,49263)).then((e=>e.execute)))),union:r("union",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(6339)]).then(n.bind(n,56339)).then((e=>e.executeMany)))),difference:r("difference",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(3054)]).then(n.bind(n,93054));return(t,n)=>a(e.execute((0,i.rS)(t),(0,i.rS)(n)))})),symmetricDifference:r("symmetricDifference",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9041)]).then(n.bind(n,89041));return(t,n)=>a(e.execute((0,i.rS)(t),(0,i.rS)(n)))})),clip:r("clip",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(4815)]).then(n.bind(n,24815));return(t,n)=>a(e.execute((0,i.rS)(t),(0,i.rS)(n)))})),cut:r("cut",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(7817)]).then(n.bind(n,37817));return(t,n)=>e.execute((0,i.rS)(t),(0,i.rS)(n)).map((e=>a(e)))})),area:r("area",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(3236)]).then(n.bind(n,95624)),{convertFromSpatialReferenceUnit:t,toAreaUnit:r}=await n.e(547).then(n.bind(n,40547));return(n,a)=>{const o=e.execute((0,i.rS)(n));return t(n.spatialReference,r(a),o)}})),geodeticArea:r("geodeticArea",(async()=>{const e=await n.e(9506).then(n.bind(n,89506)),{convert:t,squareMeters:r,toAreaUnit:a}=await n.e(547).then(n.bind(n,40547));return await e.load(),(n,o)=>{const c=e.execute((0,i.rS)(n));return t(r,a(o),c)}})),length:r("length",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(7074)]).then(n.bind(n,51190)),{convertFromSpatialReferenceUnit:t,toLengthUnit:i}=await n.e(547).then(n.bind(n,40547));return(n,r)=>{const a=e.execute(n);return t(n.spatialReference,i(r),a)}})),geodeticLength:r("geodeticLength",(async()=>{const e=await n.e(427).then(n.bind(n,40427)),{convert:t,meters:r,toLengthUnit:a}=await n.e(547).then(n.bind(n,40547));return await e.load(),(n,o)=>{const c=e.execute((0,i.rS)(n));return t(r,a(o),c)}})),distance:r("distance",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9202)]).then(n.bind(n,77038)),{convertFromSpatialReferenceUnit:t,toLengthUnit:r}=await n.e(547).then(n.bind(n,40547));return(n,a,o)=>{const c=e.execute((0,i.rS)(n),(0,i.rS)(a));return t(n.spatialReference,r(o),c)}})),densify:r("densify",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(8411)]).then(n.bind(n,88411)),{convertToSpatialReferenceUnit:t,toLengthUnit:r}=await n.e(547).then(n.bind(n,40547));return(n,o,c)=>(o=t(r(c),n.spatialReference,o),a(e.execute((0,i.rS)(n),o)))})),geodeticDensify:r("geodeticDensify",(async()=>{const e=await n.e(4097).then(n.bind(n,64097)),{convert:t,meters:r,toLengthUnit:o}=await n.e(547).then(n.bind(n,40547));return await e.load(),(n,c,s)=>(c=t(o(s),r,c),a(e.execute((0,i.rS)(n),c)))})),generalize:r("generalize",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(591)]).then(n.bind(n,60591)),{convertToSpatialReferenceUnit:t,toLengthUnit:r}=await n.e(547).then(n.bind(n,40547));return(n,o,c,s)=>(o=t(r(c),n.spatialReference,o),a(e.execute((0,i.rS)(n),o,s)))})),buffer:r("buffer",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1123],{1123:(e,t,n)=>{n.r(t),n.d(t,{invokeGeometryOp:()=>c});var i=n(65864);function r(e,t){let n;return{loaded:!1,load:()=>n??=t().then((t=>{o[e]={loaded:!0,execute:t}}))}}function a(e){return null==e?null:e.toJSON()}const o={disjoint:r("disjoint",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(1598)]).then(n.bind(n,7978)).then((e=>e.execute)))),intersects:r("intersects",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(7360)]).then(n.bind(n,55284)).then((e=>e.execute)))),touches:r("touches",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(2503)]).then(n.bind(n,83547)).then((e=>e.execute)))),crosses:r("crosses",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9700)]).then(n.bind(n,85672)).then((e=>e.execute)))),within:r("within",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9265)]).then(n.bind(n,85445)).then((e=>e.execute)))),contains:r("contains",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(1867)]).then(n.bind(n,29127)).then((e=>e.execute)))),overlaps:r("overlaps",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(1414)]).then(n.bind(n,46178)).then((e=>e.execute)))),equals:r("equals",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(5180)]).then(n.bind(n,45328));return(t,n)=>e.execute((0,i.rS)(t),(0,i.rS)(n))})),relate:r("relate",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(5552)]).then(n.bind(n,43628));return(t,n,r)=>e.execute((0,i.rS)(t),(0,i.rS)(n),r)})),intersection:r("intersection",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9263)]).then(n.bind(n,49263)).then((e=>e.execute)))),union:r("union",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(6339)]).then(n.bind(n,56339)).then((e=>e.executeMany)))),difference:r("difference",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(3054)]).then(n.bind(n,93054));return(t,n)=>a(e.execute((0,i.rS)(t),(0,i.rS)(n)))})),symmetricDifference:r("symmetricDifference",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9041)]).then(n.bind(n,89041));return(t,n)=>a(e.execute((0,i.rS)(t),(0,i.rS)(n)))})),clip:r("clip",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(4815)]).then(n.bind(n,24815));return(t,n)=>a(e.execute((0,i.rS)(t),(0,i.rS)(n)))})),cut:r("cut",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(7817)]).then(n.bind(n,37817));return(t,n)=>e.execute((0,i.rS)(t),(0,i.rS)(n)).map((e=>a(e)))})),area:r("area",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(3236)]).then(n.bind(n,95624)),{convertFromSpatialReferenceUnit:t,toAreaUnit:r}=await n.e(547).then(n.bind(n,40547));return(n,a)=>{const o=e.execute((0,i.rS)(n));return t(n.spatialReference,r(a),o)}})),geodeticArea:r("geodeticArea",(async()=>{const e=await n.e(9506).then(n.bind(n,89506)),{convert:t,squareMeters:r,toAreaUnit:a}=await n.e(547).then(n.bind(n,40547));return await e.load(),(n,o)=>{const c=e.execute((0,i.rS)(n));return t(r,a(o),c)}})),length:r("length",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(7074)]).then(n.bind(n,51190)),{convertFromSpatialReferenceUnit:t,toLengthUnit:i}=await n.e(547).then(n.bind(n,40547));return(n,r)=>{const a=e.execute(n);return t(n.spatialReference,i(r),a)}})),geodeticLength:r("geodeticLength",(async()=>{const e=await n.e(427).then(n.bind(n,40427)),{convert:t,meters:r,toLengthUnit:a}=await n.e(547).then(n.bind(n,40547));return await e.load(),(n,o)=>{const c=e.execute((0,i.rS)(n));return t(r,a(o),c)}})),distance:r("distance",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(9202)]).then(n.bind(n,77038)),{convertFromSpatialReferenceUnit:t,toLengthUnit:r}=await n.e(547).then(n.bind(n,40547));return(n,a,o)=>{const c=e.execute((0,i.rS)(n),(0,i.rS)(a));return t(n.spatialReference,r(o),c)}})),densify:r("densify",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(8411)]).then(n.bind(n,88411)),{convertToSpatialReferenceUnit:t,toLengthUnit:r}=await n.e(547).then(n.bind(n,40547));return(n,o,c)=>(o=t(r(c),n.spatialReference,o),a(e.execute((0,i.rS)(n),o)))})),geodeticDensify:r("geodeticDensify",(async()=>{const e=await n.e(4097).then(n.bind(n,64097)),{convert:t,meters:r,toLengthUnit:o}=await n.e(547).then(n.bind(n,40547));return await e.load(),(n,c,s)=>(c=t(o(s),r,c),a(e.execute((0,i.rS)(n),c)))})),generalize:r("generalize",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(591)]).then(n.bind(n,60591)),{convertToSpatialReferenceUnit:t,toLengthUnit:r}=await n.e(547).then(n.bind(n,40547));return(n,o,c,s)=>(o=t(r(c),n.spatialReference,o),a(e.execute((0,i.rS)(n),o,s)))})),buffer:r("buffer",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(8042),n.e(6160)]).then(n.bind(n,46160)),{convertToSpatialReferenceUnit:t,toLengthUnit:i}=await n.e(547).then(n.bind(n,40547));return(n,r,a)=>(r=t(i(a),n.spatialReference,r),e.execute(n,r))})),geodesicBuffer:r("geodesicBuffer",(async()=>{const e=await n.e(9159).then(n.bind(n,49159)),{convert:t,meters:i,toLengthUnit:r}=await n.e(547).then(n.bind(n,40547));return await e.load(),(n,a,o)=>(a=t(r(o),i,a),e.execute(n,a))})),offset:r("offset",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(5605)]).then(n.bind(n,15605)),{convertToSpatialReferenceUnit:t,toLengthUnit:i}=await n.e(547).then(n.bind(n,40547));return(n,r,a,o)=>(r=t(i(a),n.spatialReference,r),e.execute(n,r,o))})),rotate:r("rotate",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(647)]).then(n.bind(n,50647)),{default:t}=await Promise.all([n.e(1878),n.e(8812)]).then(n.bind(n,78812));return(n,r,o,c)=>{const s=(new t).rotate(r,o,c);return a(e.execute((0,i.rS)(n),s))}})),centroid:r("centroid",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(2657)]).then(n.bind(n,17077));return t=>a(e.execute((0,i.rS)(t)))})),labelPoint:r("labelPoint",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(5913),n.e(5137)]).then(n.bind(n,91421));return t=>a(e.execute((0,i.rS)(t)))})),simplify:r("simplify",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(3637)]).then(n.bind(n,3637)).then((e=>e.execute)))),isSimple:r("isSimple",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(3637)]).then(n.bind(n,3637)).then((e=>e.isSimple)))),convexHull:r("convexHull",(()=>Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(5666)]).then(n.bind(n,55666)).then((e=>e.execute)))),getNearestCoordinate:r("getNearestCoordinate",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(6468)]).then(n.bind(n,48032));return(t,n,r)=>{const o=e.getNearestCoordinate((0,i.rS)(t),(0,i.rS)(n),r);return{...o,coordinate:a(o.coordinate)}}})),getNearestVertex:r("getNearestVertex",(async()=>{const e=await Promise.all([n.e(1878),n.e(2189),n.e(3299),n.e(6468)]).then(n.bind(n,48032));return(t,n)=>{const r=e.getNearestVertex((0,i.rS)(t),(0,i.rS)(n));return{...r,coordinate:a(r.coordinate)}}}))};function c(e,t){const n=o[e];return n.loaded?n.execute.apply(void 0,t):n.load().then((()=>c(e,t)))}},65864:(e,t,n)=>{n.d(t,{$B:()=>b,Bi:()=>m,Rg:()=>h,U9:()=>u,ZC:()=>l,fT:()=>d,rS:()=>f,xD:()=>x});var i=n(5443),r=n(91075),a=n(48526),o=n(86738),c=n(39829),s=n(82799);function l(e){return void 0!==e.xmin&&void 0!==e.ymin&&void 0!==e.xmax&&void 0!==e.ymax}function u(e){return void 0!==e.points}function d(e){return void 0!==e.x&&void 0!==e.y}function h(e){return void 0!==e.paths||void 0!==e.curvePaths}function m(e){return void 0!==e.rings||void 0!==e.curveRings}function f(e){return null==e?null:e instanceof r.A?e:d(e)?o.A.fromJSON(e):h(e)?s.A.fromJSON(e):m(e)?c.A.fromJSON(e):u(e)?a.A.fromJSON(e):l(e)?i.A.fromJSON(e):null}function b(e){return e?d(e)?"esriGeometryPoint":h(e)?"esriGeometryPolyline":m(e)?"esriGeometryPolygon":l(e)?"esriGeometryEnvelope":u(e)?"esriGeometryMultipoint":null:null}const y={esriGeometryPoint:o.A,esriGeometryPolyline:s.A,esriGeometryPolygon:c.A,esriGeometryEnvelope:i.A,esriGeometryMultipoint:a.A,esriGeometryMultiPatch:c.A};function x(e){return e&&y[e]||null}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5605,6061],{76061:(t,s,e)=>{e.d(s,{G:()=>i,S:()=>n});class i{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}class n extends i{constructor(t){super(),this.m_iGeom=-1,this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},66070:(t,s,e)=>{e.d(s,{fz:()=>x,g7:()=>P,zo:()=>y});var i=e(76061),n=e(95213),o=e(55537),h=e(35368),r=e(83661);const m=1.4142135623730951,a=.017453292519943295,c=256,f=1024;class _{static construct(t,s,e){const i=new _;return i.x=t.x,i.y=t.y,i.m_next=-1,i.m_prev=-1,i.z=s,i.m=e,i.type=0,i}clone(){const t=new _;return t.x=this.x,t.y=this.y,t.m_next=this.m_next,t.m_prev=this.m_prev,t.z=this.z,t.m=this.m,t.type=this.type,t}asPoint2D(){return new r.P(this.x,this.y)}}class l{constructor(t){this.m_distance=-1,this.m_tolerance=-1,this.m_miterLimit=10,this.m_joins=0,this.m_progressCounter=0,this.m_bUseZ=!1,this.m_bUseM=!1,this.m_srcPts=[],this.m_srcPtCount=0,this.m_offsetPts=[],this.m_offsetPtCount=0,this.m_a1=0,this.m_a2=0,this.m_progressTracker=t}constructOffset(){const t=this.m_inputGeometry.getGeometryType();if(t===o.G.enumLine)return this.offsetLine();if(t===o.G.enumEnvelope)return this.offsetEnvelope();if((0,o.f)(t)){const t=new h.P;return t.addSegment(this.m_inputGeometry,!0),this.m_inputGeometry=t,this.constructOffset()}if(t===o.G.enumPolyline){const t=new h.P;return this.offsetMultiPath(t),t}if(t===o.G.enumPolygon){const t=new h.a;return this.offsetMultiPath(t),t}(0,o.b)("")}offsetLine(){const t=this.m_inputGeometry,s=t.getStartXY(),e=t.getEndXY(),i=new r.P;i.setSub(e,s),i.normalize(),i.leftPerpendicularThis(),i.scale(this.m_distance),s.addThis(i),e.addThis(i);const n=t.clone();return n.setStartXY(s),n.setEndXY(e),n}offsetEnvelope(){const t=this.m_inputGeometry;if(this.m_distance>0&&2!==this.m_joins){const s=new h.a;return s.addEnvelope(t,!1),this.m_inputGeometry=s,this.constructOffset()}const s=t.clone();return s.inflateCoords(this.m_distance,this.m_distance),s}progress(){}static buildPoint(t,s,e,i){i.x=t.x+s*Math.cos(e),i.y=t.y+s*Math.sin(e),i.type=t.type,i.z=t.z,i.m=t.m,i.m_next=-1,i.m_prev=-1}addPoint(t){this.m_offsetPts.push(t.clone()),this.m_offsetPtCount++}addPointEx(t,s){if(0===this.m_offsetPtCount)return void this.addPoint(t);const e=this.m_srcPtCount,i=this.m_srcPts[0===s?e-1:s-1],n=this.m_srcPts[s],o=l.dotSign(i,n,this.m_offsetPts[this.m_offsetPtCount-1],t);if(o>0)this.addPoint(t);else if(o<0)if(l.dotSign(i,n,n,this.m_offsetPts[this.m_offsetPtCount-1])>0){const n=new _;let o;o=0===s?e-2:1===s?e-1:s-2;const h=this.m_srcPts[o],m=Math.atan2(i.y-h.y,i.x-h.x);if(l.buildPoint(i,this.m_distance,m-r.l,n),this.m_offsetPts[this.m_offsetPtCount-1]=n,1===this.m_joins||2===this.m_joins){n.x=.5*(n.x+i.x),n.y=.5*(n.y+i.y),this.addPoint(n),l.buildPoint(i,this.m_distance,this.m_a1+r.l,n);const t=n.clone();t.x=.5*(t.x+i.x),t.y=.5*(t.y+i.y),t.type|=c,this.addPoint(t),this.addPoint(n)}else l.buildPoint(i,this.m_distance,this.m_a1+r.l,n),n.type|=c,this.addPoint(n);this.addPointEx(t,s)}else{const t=new _;if(l.buildPoint(n,this.m_distance,this.m_a1+r.l,t),this.addPoint(t),1===this.m_joins||2===this.m_joins){t.x=.5*(t.x+n.x),t.y=.5*(t.y+n.y),this.addPoint(t),l.buildPoint(n,this.m_distance,this.m_a2-r.l,t);const s=t.clone();s.x=.5*(s.x+n.x),s.y=.5*(s.y+n.y),s.type|=c,this.addPoint(s),this.addPoint(t)}else l.buildPoint(n,this.m_distance,this.m_a2-r.l,t),t.type|=c,this.addPoint(t)}}buildOffset(){const t=new _,s=this.m_srcPtCount;this.m_offsetPtCount=0;const e=.5*this.m_tolerance;let i=0,n=0;for(let o=0;o<s;o++){const h=this.m_srcPts[o],_=0===o?this.m_srcPts[s-1]:this.m_srcPts[o-1],u=o===s-1?this.m_srcPts[0]:this.m_srcPts[o+1];let d,P,y=0;{const t=_.x-h.x,s=_.y-h.y,e=u.x-h.x,m=u.y-h.y;d=Math.atan2(s,t),P=Math.atan2(m,e),this.m_a1=d,this.m_a2=P,0===o&&(i=d,n=P),y=r.P.orientationRobust(h.asPoint2D(),_.asPoint2D(),u.asPoint2D())}const x=P;if(P<d&&(P+=r.k),y*this.m_distance>0)if(1===this.m_joins||2===this.m_joins){l.buildPoint(h,this.m_distance,d+r.l,t),this.addPoint(t);const s=.001;t.x=h.x+(t.x-h.x)*s,t.y=h.y+(t.y-h.y)*s,this.addPoint(t),l.buildPoint(h,this.m_distance,P-r.l,t);const e=t.clone();e.x=h.x+(e.x-h.x)*s,e.y=h.y+(e.y-h.y)*s,e.type|=c,this.addPoint(e),this.addPoint(t)}else{const s=.5*(P-d),e=0===s?this.m_distance:this.m_distance/Math.abs(Math.sin(s));l.buildPoint(h,e,.5*(d+P),t),this.addPointEx(t,o)}else if(512&h.type){const s=1-e/Math.abs(this.m_distance);let i=1,n=this.m_distance<0?-Math.PI:Math.PI;if(s>-1&&s<1){let t=2*Math.acos(s);t<a&&(t=a),i=Math.trunc(Math.PI/t+1.5),i>1&&(n/=i)}i<=1&&(i=2,n/=2);let m=d+r.l;l.buildPoint(h,this.m_distance,m,t),0===o&&(t.type|=f),this.addPointEx(t,o);const c=this.m_distance/Math.cos(n/2);for(m+=n/2,l.buildPoint(h,c,m,t),t.type|=f,this.addPoint(t);--i>0;)m+=n,l.buildPoint(h,c,m,t),t.type|=f,this.addPoint(t);l.buildPoint(h,this.m_distance,P-r.l,t),t.type|=f,this.addPoint(t)}else if(1!==this.m_joins)if(0!==this.m_joins)if(2!==this.m_joins){let s;if(P=x,this.m_distance>0?(P>d&&(P-=r.k),s=d-P<r.l):(P<d&&(P+=r.k),s=P-d<r.l),s){const s=this.m_distance*m;let e;e=s<0?d+.25*Math.PI:d+3*Math.PI*.25,l.buildPoint(h,s,e,t),this.addPointEx(t,o),e=s<0?P-.25*Math.PI:P-3*Math.PI*.25,l.buildPoint(h,s,e,t),this.addPoint(t)}else{const s=.5*(P-d),e=this.m_distance/Math.abs(Math.sin(s));P<d&&(P+=r.k),l.buildPoint(h,e,(d+P)/2,t),this.addPointEx(t,o)}}else{const s=_.x-h.x,e=_.y-h.y,i=u.x-h.x,n=u.y-h.y,a=(s*i+e*n)/Math.sqrt(s*s+e*e)/Math.sqrt(i*i+n*n);if(a>1-1e-8){l.buildPoint(h,m*this.m_distance,P-.25*Math.PI,t),this.addPointEx(t,o),l.buildPoint(h,m*this.m_distance,P+.25*Math.PI,t),this.addPoint(t);continue}const c=Math.abs(this.m_distance/Math.sin(.5*Math.acos(a))),f=Math.abs(this.m_miterLimit*this.m_distance);if(c>f){const s=.5*(P-d),e=this.m_distance/Math.abs(Math.sin(s));l.buildPoint(h,e,.5*(d+P),t);const i=r.P.construct(t.x,t.y),n=r.P.construct(h.x,h.y),m=new r.P;m.setSub(i,n);const a=new r.P;a.setScaleAdd(f/m.length(),m,n);const _=Math.sqrt(c*c-this.m_distance*this.m_distance),u=(c-f)*Math.abs(this.m_distance)/_;this.m_distance>0?m.leftPerpendicularThis():m.rightPerpendicularThis(),m.scale(u/m.length());const y=new r.P;y.setAdd(a,m);const x=new r.P;x.setSub(a,m),t.x=y.x,t.y=y.y,this.addPointEx(t,o),t.x=x.x,t.y=x.y,this.addPoint(t);continue}const y=.5*(P-d),x=this.m_distance/Math.abs(Math.sin(y));l.buildPoint(h,x,.5*(d+P),t),this.addPointEx(t,o)}else{const s=1-e/Math.abs(this.m_distance);let i=1,n=P-r.l-(d+r.l);if(s>-1&&s<1){let t=2*Math.acos(s);t<a&&(t=a),i=Math.trunc(Math.abs(n)/t+1.5),i>1&&(n/=i)}const m=this.m_distance/Math.cos(.5*n);let c=d+r.l+.5*n;for(l.buildPoint(h,m,c,t),this.addPointEx(t,o);--i>0;)c+=n,l.buildPoint(h,m,c,t),this.addPoint(t)}else l.buildPoint(h,this.m_distance,d+r.l,t),this.addPointEx(t,o),l.buildPoint(h,this.m_distance,P-r.l,t),this.addPoint(t)}return this.m_a1=i,this.m_a2=n,this.addPointEx(this.m_offsetPts[0],0),this.m_offsetPts[0]=this.m_offsetPts[this.m_offsetPtCount-1].clone(),this.removeBadSegsFast()}removeBadSegsFast(){let t=!1;for(let t=0;t<this.m_offsetPtCount;t++){const s=this.m_offsetPts[t];s.m_next=t+1,s.m_prev=t-1}this.m_offsetPts[0].m_prev=this.m_offsetPtCount-2,this.m_offsetPts[this.m_offsetPtCount-2].m_next=0;let s=0;for(let e=0;e<this.m_offsetPtCount;e++)if(this.m_offsetPts[s].type&c){const e=this.deleteClosedSeg(s);if(-1===e){t=!0;break}s=e}else s=this.m_offsetPts[s].m_next;return!t&&(this.compressOffsetArray(s),!0)}deleteClosedSeg(t){const s=this.m_offsetPtCount-1;let e,i,n=t;for(let o=1;o<=s-2;o++){n=this.m_offsetPts[n].m_next,e=n,i=t;for(let t=1;t<=o;t++){if(i=this.m_offsetPts[i].m_prev,!(this.m_offsetPts[i].type&c||this.m_offsetPts[e].type&c)){const t=this.handleClosedIntersection(i,e);if(-1!==t)return t}e=this.m_offsetPts[e].m_prev}}return-1}handleClosedIntersection(t,s){const e=this.m_offsetPts[this.m_offsetPts[t].m_prev],i=this.m_offsetPts[t],n=this.m_offsetPts[this.m_offsetPts[s].m_prev],o=this.m_offsetPts[s];if(!this.sectGraphicRect(e,i,n,o))return-1;const h={pt:new _,bAtExistingPt:!1};if(((i.x-e.x)*(o.y-n.y)-(i.y-e.y)*(o.x-n.x))*this.m_distance<0&&this.findIntersection(e,i,n,o,h)&&!h.bAtExistingPt){const r=1e-8,m=Math.sqrt((i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y)),a=(i.x-e.x)/m,c=(i.y-e.y)/m,f=Math.sqrt((o.x-n.x)*(o.x-n.x)+(o.y-n.y)*(o.y-n.y)),_=(o.x-n.x)/f,l=(o.y-n.y)/f;let u=!1;const d=h.pt.clone();d.x+=(a+_)*r,d.y+=(c+l)*r;let P=n,y=h.pt,x=this.m_offsetPts[t].m_prev;for(;y.y>d.y!=P.y>d.y&&d.x<(P.x-y.x)*(d.y-y.y)/(P.y-y.y)+y.x&&(u=!u),P=y,x=this.m_offsetPts[x].m_next,x!==s;)y=this.m_offsetPts[x];if(u)return-1;const p=this.m_offsetPts[t].m_prev;return h.pt.type=i.type,h.pt.m_next=s,h.pt.m_prev=p,this.m_offsetPts[t]=h.pt,this.m_offsetPts[s].m_prev=t,s}return-1}sectGraphicRect(t,s,e,i){return Math.max(t.x,s.x)>=Math.min(e.x,i.x)&&Math.max(e.x,i.x)>=Math.min(t.x,s.x)&&Math.max(t.y,s.y)>=Math.min(e.y,i.y)&&Math.max(e.y,i.y)>=Math.min(t.y,s.y)}findIntersection(t,s,e,i,n){let o,h,r,m;return n.bAtExistingPt=!1,o=(s.y-t.y)*(i.x-e.x)-(s.x-t.x)*(i.y-e.y),h=(e.y-t.y)*(s.x-t.x)-(e.x-t.x)*(s.y-t.y),r=0===o?2:h/o,r>=0&&r<=1&&(m=r,o=(i.y-e.y)*(s.x-t.x)-(i.x-e.x)*(s.y-t.y),h=(t.y-e.y)*(i.x-e.x)-(t.x-e.x)*(i.y-e.y),r=0===o?2:h/o,r>=0&&r<=1)&&(n.pt.x=t.x+r*(s.x-t.x),n.pt.y=t.y+r*(s.y-t.y),this.m_bUseZ&&(n.pt.z=e.z+m*(i.z-e.z)),this.m_bUseM&&(n.pt.m=e.m+m*(i.m-e.m)),0!==m&&1!==m||0!==r&&1!==r||(n.bAtExistingPt=!0),!((0===m||1===m)&&r>0&&r<1||(0===r||1===r)&&m>0&&m<1))}compressOffsetArray(t){for(;this.m_offsetPts[t].m_prev<t;)t=this.m_offsetPts[t].m_prev;let s=0,e=t;do{const t=this.m_offsetPts[e].clone();this.m_offsetPts[s]=t,e=t.m_next,s++}while(e!==t);this.m_offsetPts[s]=this.m_offsetPts[0].clone(),this.m_offsetPtCount=s+1}addPart(t,s){if(!(s<2))for(let e=0;e<s;e++){const s=this.m_offsetPts[t+e];if(e?this.m_bUseZ?this.m_resultPath.lineTo3DCoords(s.x,s.y,s.z):this.m_resultPath.lineToCoords(s.x,s.y):this.m_bUseZ?this.m_resultPath.startPath3DCoords(s.x,s.y,s.z):this.m_resultPath.startPathCoords(s.x,s.y),this.m_bUseM){const t=this.m_resultPath.getPointCount()-1;this.m_resultPath.setAttribute(2,t,0,s.m)}}}offsetMultiPath(t){const s=(0,h.d)(this.m_inputGeometry,0,this.m_tolerance,0,this.m_progressTracker,12e3),e=s.querySegmentIterator();e.resetToFirstPath();let i=-1;for(;e.nextPath();)i++,this.offsetPath(s,i,t)}offsetPath(t,s,e){let i=t.getPathStart(s),n=t.getPathEnd(s);if(this.m_resultPath=e,t.isClosedPath(s)){const s=t.getXY(i);for(;n>i&&t.getXY(n-1).equals(s);)n--;if(n-i>=2){this.m_srcPtCount=n-i,this.m_srcPts.length=this.m_srcPtCount;for(let s=i;s<n;s++)this.progress(),this.m_srcPts[s-i]=_.construct(t.getXY(s),this.m_bUseZ?t.getAttributeAsDbl(1,s,0):0,this.m_bUseM?t.getAttributeAsDbl(2,s,0):0);this.buildOffset()&&this.addPart(0,this.m_offsetPtCount-1)}}else{const s=t.getXY(i);for(;i<n-1&&t.getXY(i+1).equals(s);)i++;const e=t.getXY(n-1);for(;i<n-1&&t.getXY(n-2).equals(e);)n--;if(n-i>=2){this.m_srcPtCount=2*(n-i)-2,this.m_srcPts.length=this.m_srcPtCount;let e=_.construct(s,this.m_bUseZ?t.getAttributeAsDbl(1,i,0):0,this.m_bUseM?t.getAttributeAsDbl(2,i,0):0);e.type|=1536,this.m_srcPts[0]=e;let o=1,h=this.m_srcPtCount-1;for(let s=i+1;s<n-1;s++,o++,h--)this.progress(),e=_.construct(t.getXY(s),this.m_bUseZ?t.getAttributeAsDbl(1,s,0):0,this.m_bUseM?t.getAttributeAsDbl(2,s,0):0),this.m_srcPts[o]=e.clone(),e.type|=f,this.m_srcPts[h]=e.clone();if(e=_.construct(t.getXY(n-1),this.m_bUseZ?t.getAttributeAsDbl(1,n-1,0):0,this.m_bUseM?t.getAttributeAsDbl(2,n-1,0):0),e.type|=512,this.m_srcPts[o]=e.clone(),this.buildOffset())if(this.m_offsetPts.length>=2){let t=-1,s=-1,e=!!(this.m_offsetPts[this.m_offsetPtCount-1].type&f);e||(t=0);for(let i=1;i<this.m_offsetPtCount;i++){this.progress();const n=!!(this.m_offsetPts[i].type&f);n?e||(s=i-1,s-t+1>1&&this.addPart(t,s-t+1)):e&&(t=i-1),e=n}e||(s=this.m_offsetPtCount-1,s-t+1>1&&this.addPart(t,s-t+1))}else{const t=0,s=this.m_offsetPtCount-1;s-t>=1&&this.addPart(t,s-t+1)}}}this.m_srcPts.length=0,this.m_srcPtCount=0,this.m_offsetPts.length=0,this.m_offsetPtCount=0}static dotSign(t,s,e,i){const n=s.x-t.x,o=s.y-t.y,h=i.x-e.x,m=i.y-e.y,a=(0,r.t)(n,o,h,m);return(0,r.d)(a)}}class u extends i.G{constructor(t,s,e,i,n,o,h){super(),this.m_progressTracker=h,this.m_index=-1,this.m_inputGeoms=t,this.m_spatialReference=s,this.m_distance=e,this.m_joins=i,this.m_miterLimit=n,this.m_flattenError=o}tock(){return!0}getRank(){return 1}next(){if(!this.m_inputGeoms)return null;let t;for(;t=this.m_inputGeoms.next();)return this.m_index=this.m_inputGeoms.getGeometryID(),this.offset(t);return null}getGeometryID(){return this.m_index}offset(t){let s;return(0,o.d)(t),s=this.m_flattenError<=0?(0,n.b)(this.m_spatialReference,t,!0).total():this.m_flattenError,function(t,s,e,i,n,h){if(null===t&&(0,o.t)(""),t.getDimension()<1&&(0,o.t)(""),n>0||(0,o.t)(""),(0,o.d)(t),0===s||t.isEmpty())return t;const r=new l(h);return r.m_bUseZ=t.hasAttribute(1),r.m_bUseM=t.hasAttribute(2),r.m_inputGeometry=t,r.m_distance=s,r.m_tolerance=n,r.m_joins=e,r.m_miterLimit=i>1?i:1,r.m_progressCounter=0,r.constructOffset()}(t,this.m_distance,this.m_joins,this.m_miterLimit,s,this.m_progressTracker)}}const d=new class{getOperatorType(){return 10108}accelerateGeometry(t,s,e){return!1}canAccelerateGeometry(t){return!1}supportsCurves(){return!0}executeMany(t,s,e,i,n,o,h){return new u(t,s,e,i,n,o,h)}execute(t,s,e,i,n,o,h){return new u(null,s,e,i,n,o,h).offset(t)}};function P(t,s,e,i,n,o){return d.execute(t,s,e,i,n,o,null)}function y(t,s,e,n,o,h){const r=d.executeMany(new i.S(t),s,e,n,o,h,null);return Array.from(r)}function x(){return d.supportsCurves()}},15605:(t,s,e)=>{e.r(s),e.d(s,{execute:()=>m,executeMany:()=>a});var i=e(4576),n=e(83047),o=e(66070),h=e(83299);const r={round:0,bevel:1,miter:2,square:3};function m(t,s,e={}){const{miterLimit:i=10,flattenError:m=0,joins:a="round",unit:c}=e,f=(0,h.getSpatialReference)(t);c&&f&&(s=(0,n.UW)(s,c,f));const _=(0,h.fromGeometry)(t),l=_.getSpatialReference();return(0,h.toGeometry)((0,o.g7)(_.getGeometry(),l,s,r[a],i,m),l)}function a(t,s,e={}){const{miterLimit:m=10,flattenError:a=0,joins:c="round",unit:f}=e,_=(0,h.getSpatialReference)(t);f&&_&&(s=(0,n.UW)(s,f,_));const[l,u]=(0,h.fromGeometries)(t);return(0,o.zo)(l,u,s,r[c],m,a).map((t=>(0,h.toGeometry)(t,u))).filter(i.Ru)}}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5605,6061],{76061:(t,s,e)=>{e.d(s,{G:()=>i,S:()=>n});class i{*[Symbol.iterator](){let t=this.next();for(;t;)yield t,t=this.next()}}class n extends i{constructor(t){super(),this.m_iGeom=-1,this.m_aGeoms=t?t.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){const t=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,t}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},66070:(t,s,e)=>{e.d(s,{fz:()=>x,g7:()=>P,zo:()=>y});var i=e(76061),n=e(95213),o=e(55537),h=e(35368),r=e(83661);const m=1.4142135623730951,a=.017453292519943295,c=256,f=1024;class _{static construct(t,s,e){const i=new _;return i.x=t.x,i.y=t.y,i.m_next=-1,i.m_prev=-1,i.z=s,i.m=e,i.type=0,i}clone(){const t=new _;return t.x=this.x,t.y=this.y,t.m_next=this.m_next,t.m_prev=this.m_prev,t.z=this.z,t.m=this.m,t.type=this.type,t}asPoint2D(){return new r.P(this.x,this.y)}}class l{constructor(t){this.m_distance=-1,this.m_tolerance=-1,this.m_miterLimit=10,this.m_joins=0,this.m_progressCounter=0,this.m_bUseZ=!1,this.m_bUseM=!1,this.m_srcPts=[],this.m_srcPtCount=0,this.m_offsetPts=[],this.m_offsetPtCount=0,this.m_a1=0,this.m_a2=0,this.m_progressTracker=t}constructOffset(){const t=this.m_inputGeometry.getGeometryType();if(t===o.G.enumLine)return this.offsetLine();if(t===o.G.enumEnvelope)return this.offsetEnvelope();if((0,o.f)(t)){const t=new h.P;return t.addSegment(this.m_inputGeometry,!0),this.m_inputGeometry=t,this.constructOffset()}if(t===o.G.enumPolyline){const t=new h.P;return this.offsetMultiPath(t),t}if(t===o.G.enumPolygon){const t=new h.a;return this.offsetMultiPath(t),t}(0,o.b)("")}offsetLine(){const t=this.m_inputGeometry,s=t.getStartXY(),e=t.getEndXY(),i=new r.P;i.setSub(e,s),i.normalize(),i.leftPerpendicularThis(),i.scale(this.m_distance),s.addThis(i),e.addThis(i);const n=t.clone();return n.setStartXY(s),n.setEndXY(e),n}offsetEnvelope(){const t=this.m_inputGeometry;if(this.m_distance>0&&2!==this.m_joins){const s=new h.a;return s.addEnvelope(t,!1),this.m_inputGeometry=s,this.constructOffset()}const s=t.clone();return s.inflateCoords(this.m_distance,this.m_distance),s}progress(){}static buildPoint(t,s,e,i){i.x=t.x+s*Math.cos(e),i.y=t.y+s*Math.sin(e),i.type=t.type,i.z=t.z,i.m=t.m,i.m_next=-1,i.m_prev=-1}addPoint(t){this.m_offsetPts.push(t.clone()),this.m_offsetPtCount++}addPointEx(t,s){if(0===this.m_offsetPtCount)return void this.addPoint(t);const e=this.m_srcPtCount,i=this.m_srcPts[0===s?e-1:s-1],n=this.m_srcPts[s],o=l.dotSign(i,n,this.m_offsetPts[this.m_offsetPtCount-1],t);if(o>0)this.addPoint(t);else if(o<0)if(l.dotSign(i,n,n,this.m_offsetPts[this.m_offsetPtCount-1])>0){const n=new _;let o;o=0===s?e-2:1===s?e-1:s-2;const h=this.m_srcPts[o],m=Math.atan2(i.y-h.y,i.x-h.x);if(l.buildPoint(i,this.m_distance,m-r.l,n),this.m_offsetPts[this.m_offsetPtCount-1]=n,1===this.m_joins||2===this.m_joins){n.x=.5*(n.x+i.x),n.y=.5*(n.y+i.y),this.addPoint(n),l.buildPoint(i,this.m_distance,this.m_a1+r.l,n);const t=n.clone();t.x=.5*(t.x+i.x),t.y=.5*(t.y+i.y),t.type|=c,this.addPoint(t),this.addPoint(n)}else l.buildPoint(i,this.m_distance,this.m_a1+r.l,n),n.type|=c,this.addPoint(n);this.addPointEx(t,s)}else{const t=new _;if(l.buildPoint(n,this.m_distance,this.m_a1+r.l,t),this.addPoint(t),1===this.m_joins||2===this.m_joins){t.x=.5*(t.x+n.x),t.y=.5*(t.y+n.y),this.addPoint(t),l.buildPoint(n,this.m_distance,this.m_a2-r.l,t);const s=t.clone();s.x=.5*(s.x+n.x),s.y=.5*(s.y+n.y),s.type|=c,this.addPoint(s),this.addPoint(t)}else l.buildPoint(n,this.m_distance,this.m_a2-r.l,t),t.type|=c,this.addPoint(t)}}buildOffset(){const t=new _,s=this.m_srcPtCount;this.m_offsetPtCount=0;const e=.5*this.m_tolerance;let i=0,n=0;for(let o=0;o<s;o++){const h=this.m_srcPts[o],_=0===o?this.m_srcPts[s-1]:this.m_srcPts[o-1],u=o===s-1?this.m_srcPts[0]:this.m_srcPts[o+1];let d,P,y=0;{const t=_.x-h.x,s=_.y-h.y,e=u.x-h.x,m=u.y-h.y;d=Math.atan2(s,t),P=Math.atan2(m,e),this.m_a1=d,this.m_a2=P,0===o&&(i=d,n=P),y=r.P.orientationRobust(h.asPoint2D(),_.asPoint2D(),u.asPoint2D())}const x=P;if(P<d&&(P+=r.k),y*this.m_distance>0)if(1===this.m_joins||2===this.m_joins){l.buildPoint(h,this.m_distance,d+r.l,t),this.addPoint(t);const s=.001;t.x=h.x+(t.x-h.x)*s,t.y=h.y+(t.y-h.y)*s,this.addPoint(t),l.buildPoint(h,this.m_distance,P-r.l,t);const e=t.clone();e.x=h.x+(e.x-h.x)*s,e.y=h.y+(e.y-h.y)*s,e.type|=c,this.addPoint(e),this.addPoint(t)}else{const s=.5*(P-d),e=0===s?this.m_distance:this.m_distance/Math.abs(Math.sin(s));l.buildPoint(h,e,.5*(d+P),t),this.addPointEx(t,o)}else if(512&h.type){const s=1-e/Math.abs(this.m_distance);let i=1,n=this.m_distance<0?-Math.PI:Math.PI;if(s>-1&&s<1){let t=2*Math.acos(s);t<a&&(t=a),i=Math.trunc(Math.PI/t+1.5),i>1&&(n/=i)}i<=1&&(i=2,n/=2);let m=d+r.l;l.buildPoint(h,this.m_distance,m,t),0===o&&(t.type|=f),this.addPointEx(t,o);const c=this.m_distance/Math.cos(n/2);for(m+=n/2,l.buildPoint(h,c,m,t),t.type|=f,this.addPoint(t);--i>0;)m+=n,l.buildPoint(h,c,m,t),t.type|=f,this.addPoint(t);l.buildPoint(h,this.m_distance,P-r.l,t),t.type|=f,this.addPoint(t)}else if(1!==this.m_joins)if(0!==this.m_joins)if(2!==this.m_joins){let s;if(P=x,this.m_distance>0?(P>d&&(P-=r.k),s=d-P<r.l):(P<d&&(P+=r.k),s=P-d<r.l),s){const s=this.m_distance*m;let e;e=s<0?d+.25*Math.PI:d+3*Math.PI*.25,l.buildPoint(h,s,e,t),this.addPointEx(t,o),e=s<0?P-.25*Math.PI:P-3*Math.PI*.25,l.buildPoint(h,s,e,t),this.addPoint(t)}else{const s=.5*(P-d),e=this.m_distance/Math.abs(Math.sin(s));P<d&&(P+=r.k),l.buildPoint(h,e,(d+P)/2,t),this.addPointEx(t,o)}}else{const s=_.x-h.x,e=_.y-h.y,i=u.x-h.x,n=u.y-h.y,a=(s*i+e*n)/Math.sqrt(s*s+e*e)/Math.sqrt(i*i+n*n);if(a>1-1e-8){l.buildPoint(h,m*this.m_distance,P-.25*Math.PI,t),this.addPointEx(t,o),l.buildPoint(h,m*this.m_distance,P+.25*Math.PI,t),this.addPoint(t);continue}const c=Math.abs(this.m_distance/Math.sin(.5*Math.acos(a))),f=Math.abs(this.m_miterLimit*this.m_distance);if(c>f){const s=.5*(P-d),e=this.m_distance/Math.abs(Math.sin(s));l.buildPoint(h,e,.5*(d+P),t);const i=r.P.construct(t.x,t.y),n=r.P.construct(h.x,h.y),m=new r.P;m.setSub(i,n);const a=new r.P;a.setScaleAdd(f/m.length(),m,n);const _=Math.sqrt(c*c-this.m_distance*this.m_distance),u=(c-f)*Math.abs(this.m_distance)/_;this.m_distance>0?m.leftPerpendicularThis():m.rightPerpendicularThis(),m.scale(u/m.length());const y=new r.P;y.setAdd(a,m);const x=new r.P;x.setSub(a,m),t.x=y.x,t.y=y.y,this.addPointEx(t,o),t.x=x.x,t.y=x.y,this.addPoint(t);continue}const y=.5*(P-d),x=this.m_distance/Math.abs(Math.sin(y));l.buildPoint(h,x,.5*(d+P),t),this.addPointEx(t,o)}else{const s=1-e/Math.abs(this.m_distance);let i=1,n=P-r.l-(d+r.l);if(s>-1&&s<1){let t=2*Math.acos(s);t<a&&(t=a),i=Math.trunc(Math.abs(n)/t+1.5),i>1&&(n/=i)}const m=this.m_distance/Math.cos(.5*n);let c=d+r.l+.5*n;for(l.buildPoint(h,m,c,t),this.addPointEx(t,o);--i>0;)c+=n,l.buildPoint(h,m,c,t),this.addPoint(t)}else l.buildPoint(h,this.m_distance,d+r.l,t),this.addPointEx(t,o),l.buildPoint(h,this.m_distance,P-r.l,t),this.addPoint(t)}return this.m_a1=i,this.m_a2=n,this.addPointEx(this.m_offsetPts[0],0),this.m_offsetPts[0]=this.m_offsetPts[this.m_offsetPtCount-1].clone(),this.removeBadSegsFast()}removeBadSegsFast(){let t=!1;for(let t=0;t<this.m_offsetPtCount;t++){const s=this.m_offsetPts[t];s.m_next=t+1,s.m_prev=t-1}this.m_offsetPts[0].m_prev=this.m_offsetPtCount-2,this.m_offsetPts[this.m_offsetPtCount-2].m_next=0;let s=0;for(let e=0;e<this.m_offsetPtCount;e++)if(this.m_offsetPts[s].type&c){const e=this.deleteClosedSeg(s);if(-1===e){t=!0;break}s=e}else s=this.m_offsetPts[s].m_next;return!t&&(this.compressOffsetArray(s),!0)}deleteClosedSeg(t){const s=this.m_offsetPtCount-1;let e,i,n=t;for(let o=1;o<=s-2;o++){n=this.m_offsetPts[n].m_next,e=n,i=t;for(let t=1;t<=o;t++){if(i=this.m_offsetPts[i].m_prev,!(this.m_offsetPts[i].type&c||this.m_offsetPts[e].type&c)){const t=this.handleClosedIntersection(i,e);if(-1!==t)return t}e=this.m_offsetPts[e].m_prev}}return-1}handleClosedIntersection(t,s){const e=this.m_offsetPts[this.m_offsetPts[t].m_prev],i=this.m_offsetPts[t],n=this.m_offsetPts[this.m_offsetPts[s].m_prev],o=this.m_offsetPts[s];if(!this.sectGraphicRect(e,i,n,o))return-1;const h={pt:new _,bAtExistingPt:!1};if(((i.x-e.x)*(o.y-n.y)-(i.y-e.y)*(o.x-n.x))*this.m_distance<0&&this.findIntersection(e,i,n,o,h)&&!h.bAtExistingPt){const r=1e-8,m=Math.sqrt((i.x-e.x)*(i.x-e.x)+(i.y-e.y)*(i.y-e.y)),a=(i.x-e.x)/m,c=(i.y-e.y)/m,f=Math.sqrt((o.x-n.x)*(o.x-n.x)+(o.y-n.y)*(o.y-n.y)),_=(o.x-n.x)/f,l=(o.y-n.y)/f;let u=!1;const d=h.pt.clone();d.x+=(a+_)*r,d.y+=(c+l)*r;let P=n,y=h.pt,x=this.m_offsetPts[t].m_prev;for(;y.y>d.y!=P.y>d.y&&d.x<(P.x-y.x)*(d.y-y.y)/(P.y-y.y)+y.x&&(u=!u),P=y,x=this.m_offsetPts[x].m_next,x!==s;)y=this.m_offsetPts[x];if(u)return-1;const p=this.m_offsetPts[t].m_prev;return h.pt.type=i.type,h.pt.m_next=s,h.pt.m_prev=p,this.m_offsetPts[t]=h.pt,this.m_offsetPts[s].m_prev=t,s}return-1}sectGraphicRect(t,s,e,i){return Math.max(t.x,s.x)>=Math.min(e.x,i.x)&&Math.max(e.x,i.x)>=Math.min(t.x,s.x)&&Math.max(t.y,s.y)>=Math.min(e.y,i.y)&&Math.max(e.y,i.y)>=Math.min(t.y,s.y)}findIntersection(t,s,e,i,n){let o,h,r,m;return n.bAtExistingPt=!1,o=(s.y-t.y)*(i.x-e.x)-(s.x-t.x)*(i.y-e.y),h=(e.y-t.y)*(s.x-t.x)-(e.x-t.x)*(s.y-t.y),r=0===o?2:h/o,r>=0&&r<=1&&(m=r,o=(i.y-e.y)*(s.x-t.x)-(i.x-e.x)*(s.y-t.y),h=(t.y-e.y)*(i.x-e.x)-(t.x-e.x)*(i.y-e.y),r=0===o?2:h/o,r>=0&&r<=1)&&(n.pt.x=t.x+r*(s.x-t.x),n.pt.y=t.y+r*(s.y-t.y),this.m_bUseZ&&(n.pt.z=e.z+m*(i.z-e.z)),this.m_bUseM&&(n.pt.m=e.m+m*(i.m-e.m)),0!==m&&1!==m||0!==r&&1!==r||(n.bAtExistingPt=!0),!((0===m||1===m)&&r>0&&r<1||(0===r||1===r)&&m>0&&m<1))}compressOffsetArray(t){for(;this.m_offsetPts[t].m_prev<t;)t=this.m_offsetPts[t].m_prev;let s=0,e=t;do{const t=this.m_offsetPts[e].clone();this.m_offsetPts[s]=t,e=t.m_next,s++}while(e!==t);this.m_offsetPts[s]=this.m_offsetPts[0].clone(),this.m_offsetPtCount=s+1}addPart(t,s){if(!(s<2))for(let e=0;e<s;e++){const s=this.m_offsetPts[t+e];if(e?this.m_bUseZ?this.m_resultPath.lineTo3DCoords(s.x,s.y,s.z):this.m_resultPath.lineToCoords(s.x,s.y):this.m_bUseZ?this.m_resultPath.startPath3DCoords(s.x,s.y,s.z):this.m_resultPath.startPathCoords(s.x,s.y),this.m_bUseM){const t=this.m_resultPath.getPointCount()-1;this.m_resultPath.setAttribute(2,t,0,s.m)}}}offsetMultiPath(t){const s=(0,h.d)(this.m_inputGeometry,0,this.m_tolerance,0,this.m_progressTracker,12e3),e=s.querySegmentIterator();e.resetToFirstPath();let i=-1;for(;e.nextPath();)i++,this.offsetPath(s,i,t)}offsetPath(t,s,e){let i=t.getPathStart(s),n=t.getPathEnd(s);if(this.m_resultPath=e,t.isClosedPath(s)){const s=t.getXY(i);for(;n>i&&t.getXY(n-1).equals(s);)n--;if(n-i>=2){this.m_srcPtCount=n-i,this.m_srcPts.length=this.m_srcPtCount;for(let s=i;s<n;s++)this.progress(),this.m_srcPts[s-i]=_.construct(t.getXY(s),this.m_bUseZ?t.getAttributeAsDbl(1,s,0):0,this.m_bUseM?t.getAttributeAsDbl(2,s,0):0);this.buildOffset()&&this.addPart(0,this.m_offsetPtCount-1)}}else{const s=t.getXY(i);for(;i<n-1&&t.getXY(i+1).equals(s);)i++;const e=t.getXY(n-1);for(;i<n-1&&t.getXY(n-2).equals(e);)n--;if(n-i>=2){this.m_srcPtCount=2*(n-i)-2,this.m_srcPts.length=this.m_srcPtCount;let e=_.construct(s,this.m_bUseZ?t.getAttributeAsDbl(1,i,0):0,this.m_bUseM?t.getAttributeAsDbl(2,i,0):0);e.type|=1536,this.m_srcPts[0]=e;let o=1,h=this.m_srcPtCount-1;for(let s=i+1;s<n-1;s++,o++,h--)this.progress(),e=_.construct(t.getXY(s),this.m_bUseZ?t.getAttributeAsDbl(1,s,0):0,this.m_bUseM?t.getAttributeAsDbl(2,s,0):0),this.m_srcPts[o]=e.clone(),e.type|=f,this.m_srcPts[h]=e.clone();if(e=_.construct(t.getXY(n-1),this.m_bUseZ?t.getAttributeAsDbl(1,n-1,0):0,this.m_bUseM?t.getAttributeAsDbl(2,n-1,0):0),e.type|=512,this.m_srcPts[o]=e.clone(),this.buildOffset())if(this.m_offsetPts.length>=2){let t=-1,s=-1,e=!!(this.m_offsetPts[this.m_offsetPtCount-1].type&f);e||(t=0);for(let i=1;i<this.m_offsetPtCount;i++){this.progress();const n=!!(this.m_offsetPts[i].type&f);n?e||(s=i-1,s-t+1>1&&this.addPart(t,s-t+1)):e&&(t=i-1),e=n}e||(s=this.m_offsetPtCount-1,s-t+1>1&&this.addPart(t,s-t+1))}else{const t=0,s=this.m_offsetPtCount-1;s-t>=1&&this.addPart(t,s-t+1)}}}this.m_srcPts.length=0,this.m_srcPtCount=0,this.m_offsetPts.length=0,this.m_offsetPtCount=0}static dotSign(t,s,e,i){const n=s.x-t.x,o=s.y-t.y,h=i.x-e.x,m=i.y-e.y,a=(0,r.t)(n,o,h,m);return(0,r.e)(a)}}class u extends i.G{constructor(t,s,e,i,n,o,h){super(),this.m_progressTracker=h,this.m_index=-1,this.m_inputGeoms=t,this.m_spatialReference=s,this.m_distance=e,this.m_joins=i,this.m_miterLimit=n,this.m_flattenError=o}tock(){return!0}getRank(){return 1}next(){if(!this.m_inputGeoms)return null;let t;for(;t=this.m_inputGeoms.next();)return this.m_index=this.m_inputGeoms.getGeometryID(),this.offset(t);return null}getGeometryID(){return this.m_index}offset(t){let s;return(0,o.d)(t),s=this.m_flattenError<=0?(0,n.b)(this.m_spatialReference,t,!0).total():this.m_flattenError,function(t,s,e,i,n,h){if(null===t&&(0,o.t)(""),t.getDimension()<1&&(0,o.t)(""),n>0||(0,o.t)(""),(0,o.d)(t),0===s||t.isEmpty())return t;const r=new l(h);return r.m_bUseZ=t.hasAttribute(1),r.m_bUseM=t.hasAttribute(2),r.m_inputGeometry=t,r.m_distance=s,r.m_tolerance=n,r.m_joins=e,r.m_miterLimit=i>1?i:1,r.m_progressCounter=0,r.constructOffset()}(t,this.m_distance,this.m_joins,this.m_miterLimit,s,this.m_progressTracker)}}const d=new class{getOperatorType(){return 10108}accelerateGeometry(t,s,e){return!1}canAccelerateGeometry(t){return!1}supportsCurves(){return!0}executeMany(t,s,e,i,n,o,h){return new u(t,s,e,i,n,o,h)}execute(t,s,e,i,n,o,h){return new u(null,s,e,i,n,o,h).offset(t)}};function P(t,s,e,i,n,o){return d.execute(t,s,e,i,n,o,null)}function y(t,s,e,n,o,h){const r=d.executeMany(new i.S(t),s,e,n,o,h,null);return Array.from(r)}function x(){return d.supportsCurves()}},15605:(t,s,e)=>{e.r(s),e.d(s,{execute:()=>m,executeMany:()=>a});var i=e(4576),n=e(83047),o=e(66070),h=e(83299);const r={round:0,bevel:1,miter:2,square:3};function m(t,s,e={}){const{miterLimit:i=10,flattenError:m=0,joins:a="round",unit:c}=e,f=(0,h.getSpatialReference)(t);c&&f&&(s=(0,n.UW)(s,c,f));const _=(0,h.fromGeometry)(t),l=_.getSpatialReference();return(0,h.toGeometry)((0,o.g7)(_.getGeometry(),l,s,r[a],i,m),l)}function a(t,s,e={}){const{miterLimit:m=10,flattenError:a=0,joins:c="round",unit:f}=e,_=(0,h.getSpatialReference)(t);f&&_&&(s=(0,n.UW)(s,f,_));const[l,u]=(0,h.fromGeometries)(t);return(0,o.zo)(l,u,s,r[c],m,a).map((t=>(0,h.toGeometry)(t,u))).filter(i.Ru)}}}]);
|