earthsdk3 3.4.0-beta.3 → 3.4.0-beta.4

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.
@@ -1,6 +1,6 @@
1
1
  var EarthSDK3=function(N,d){"use strict";var WI=Object.defineProperty;var HI=(N,d,Xl)=>d in N?WI(N,d,{enumerable:!0,configurable:!0,writable:!0,value:Xl}):N[d]=Xl;var p=(N,d,Xl)=>HI(N,typeof d!="symbol"?d+"":d,Xl);class Xl extends d.Destroyable{constructor(){super(...arguments);p(this,"registerEngines",{})}register(e,i,n){const s=this.registerEngines[e]||new Map;s.has(i)&&console.warn(`register warn:${e}中${i}的实现类已经被注册,再次注册会覆盖。`),s.set(i,n),this.registerEngines[e]=s}getEngineObjConstructor(e,i){const s=(this.registerEngines[i]||new Map).get(e);if(s)return s;console.warn(`未找到${e}在${i}中对应的实现类!`)}createEngineObject(e,i){const n=this.getEngineObjConstructor(e.typeName,i.typeName);if(n){const s=new n(e,i);return s.createdEvent.emit(),s}else{const s=new Aa(e,i);return s.createdEvent.emit(),s}}}class fv extends d.Destroyable{constructor(){super(...arguments);p(this,"registerEngines",{})}register(e,i,n){const s=this.registerEngines[e]||new Map;s.has(i)&&console.warn(`register warn:${e}中${i}的实现类已经被注册,再次注册会覆盖。`),s.set(i,n),this.registerEngines[e]=s}getEngineObjConstructor(e,i){const s=(this.registerEngines[i]||new Map).get(e);if(s)return s;console.warn(`未找到${e}在${i}中对应的实现类!`)}createEngineObject(e,i){const n=this.getEngineObjConstructor(e.typeName,i.typeName);if(n){const s=new n(e,i);return s.createdEvent.emit(),s}else{const s=new Aa(e,i);return s.createdEvent.emit(),s}}}const nn=class nn extends d.Destroyable{constructor(e,i,n=!1){super();p(this,"_createdEvent",this.dv(new d.Event));p(this,"_id",++nn._accumId);this._sceneObject=e,this._viewer=i;{if(n)return;e.viewer=i,e.viewerChanged.emit(i);const s=(a,o)=>{for(let l of a)this._viewer.delete(l);for(let l of o)this._viewer.add(l)};s([],this._sceneObject.components.values()),this.d(this._sceneObject.components.toChange.don(s)),this.d(()=>s(this._sceneObject.components.values(),[]))}}get createdEvent(){return this._createdEvent}get sceneObject(){return this._sceneObject}get viewer(){return this._viewer}get id(){return this._id}};p(nn,"context",new Xl),p(nn,"contextEditing",new fv),p(nn,"register",nn.context.register.bind(nn.context)),p(nn,"registerEditing",nn.contextEditing.register.bind(nn.contextEditing)),p(nn,"_accumId",-1);let Aa=nn;const nf=class nf extends d.Destroyable{constructor(e,i){super();p(this,"_id",++nf._accumId);this._name=e,this._description=i}get id(){return this._id}get name(){return this._name}get description(){return this._description}};p(nf,"_accumId",-1);let Js=nf;class gf extends Js{constructor(t,e,i,n,s){super(t,e),this._withUndefined=i,this._readonly=n,this._defaultValue=s}get withUndefined(){return this._withUndefined}get readonly(){return this._readonly}get defaultValue(){return this._defaultValue instanceof Function?this._defaultValue():this._defaultValue}}class Rt extends gf{constructor(t,e,i,n,s,a){super(t,e,i,n,a),this._reactVar=s}get reactVar(){return this._reactVar}}class U extends Rt{get type(){return"BooleanProperty"}}class nt extends Rt{get type(){return"StringProperty"}}class C extends Rt{get type(){return"NumberProperty"}}class dv extends Rt{get type(){return"MaximumScreenSpaceErrorProperty"}}class np extends Rt{get type(){return"StringsProperty"}}class pv extends Rt{get type(){return"NumbersProperty"}}class gv extends Rt{get type(){return"BooleansProperty"}}class mv extends Rt{get type(){return"String2Property"}}class vv extends Rt{get type(){return"String3Property"}}class yv extends Rt{get type(){return"String4Property"}}class sp extends Rt{get type(){return"String2sProperty"}}class _v extends Rt{get type(){return"String3sProperty"}}class wv extends Rt{get type(){return"String4sProperty"}}class se extends Rt{get type(){return"Number2Property"}}class Qe extends Rt{get type(){return"Number3Property"}}class Lr extends Rt{get type(){return"Number4Property"}}class Ev extends Rt{get type(){return"Number4WithUndefinedProperty"}}class ap extends Rt{get type(){return"Number2sProperty"}}class mf extends Rt{get type(){return"Number3sProperty"}}class Sv extends Rt{get type(){return"Number4sProperty"}}class Pv extends Rt{get type(){return"Boolean2Property"}}class Cv extends Rt{get type(){return"Boolean3Property"}}class Iv extends Rt{get type(){return"Boolean4Property"}}class Mv extends Rt{get type(){return"Boolean2sProperty"}}class Nv extends Rt{get type(){return"Boolean3sProperty"}}class bv extends Rt{get type(){return"Boolean4sProperty"}}class Tv extends Rt{get type(){return"StringNumberProperty"}}class Dv extends Rt{get type(){return"StringNumbersProperty"}}class it extends Lr{get type(){return"ColorProperty"}}class xv extends Qe{get type(){return"ColorRgbProperty"}}class Ov extends C{get type(){return"DashPatternProperty"}}class tt extends Rt{constructor(t,e,i,n,s,a,o){super(t,e,i,n,s,o),this._enums=a}get type(){return"EnumProperty"}get enums(){return this._enums}}class Av extends Rt{constructor(t,e,i,n,s,a,o){super(t,e,i,n,s,o),this._enums=a}get type(){return"EnumStringsProperty"}get enums(){return this._enums}}class Fn extends Rt{constructor(t,e,i,n,s,a,o){super(t,e,i,n,s,a),this._sampleValue=o}get sampleValue(){return this._sampleValue}get type(){return"EvalStringProperty"}}class op extends Rt{constructor(t,e,i,n,s){super(t,e,!1,!1,i,s),this._paramTypes=n}get type(){return"ParamsProperty"}get paramTypes(){return this._paramTypes}}class mt extends Js{constructor(e,i,n,s,a){super(e,i);p(this,"_paramsProperty");p(this,"_getValueFunc");this._func=s;const o=this.disposeVar(d.reactJson(a));this._paramsProperty=this.disposeVar(new op(e+"_params",e+"_params",o,n,a));const[l]=d.getReactFuncs(this._paramsProperty.reactVar);this._getValueFunc=l}get paramsProperty(){return this._paramsProperty}exec(){this._func(...this._getValueFunc())}get type(){return"FunctionProperty"}}class H extends Js{constructor(t,e,i){super(t,e),this._children=i}get type(){return"GroupProperty"}get children(){return this._children}}class Y extends Rt{constructor(t,e,i,n,s,a,o){super(t,e,i,n,s,a),this._sampleValue=o}get sampleValue(){return this._sampleValue}get type(){return"JsonProperty"}}class Kh extends Rt{constructor(t,e,i,n,s,a,o){super(t,e,i,n,s,a),this._sampleValue=o}get sampleValue(){return this._sampleValue}get type(){return"LongStringProperty"}}class Lv extends se{get type(){return"MinmaxProperty"}}class Rv extends Lr{get type(){return"NearFarScalerProperty"}}class lp extends gf{constructor(t,e,i,n,s,a,o){super(t,e,i,n,o),this._getJsonStringFunc=s,this._setJsonStringFunc=a}get type(){return"NonreactiveJsonStringProperty"}get getJsonStringFunc(){return this._getJsonStringFunc}get setJsonStringFunc(){return this._setJsonStringFunc}}class Fv extends se{get type(){return"NumberRangeProperty"}}class Kt extends Rt{constructor(t,e,i,n,s,a,o,l){super(t,e,i,n,s,l),this._step=a,this._minMax=o}get type(){return"NumberSliderProperty"}get minMax(){return this._minMax}get step(){return this._step}}function Gv(r,t){const[e,i,n]=d.getReactFuncs(r),[s,a,o]=d.getReactFuncs(t),l=d.react((e()??0)/(s()??3e3)),u=()=>{const c=l.value,h=s()??3e3,f=e()??0;if(!Number.isFinite(h)||!Number.isFinite(f)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${f}`);return}Math.abs(c*h-f)<.001||(h<=0?l.value=0:l.value=f/h)};return l.dispose(n.disposableOn(u)),l.dispose(o.disposableOn(u)),l.dispose(l.changed.disposableOn(()=>{const c=l.value,h=s()??3e3,f=e()??0;if(!Number.isFinite(h)||!Number.isFinite(f)){console.warn(`duration || currentTime error: duration: ${h} currentTime: ${f}`);return}Math.abs(c*h-f)<.001||i(c*h)})),l}class Qh extends Js{constructor(e,i,n,s,a,o){super(e,i);p(this,"_defaults",{playing:!1,ratio:0,loop:!1});this._playingReact=n,this._ratioReact=s,this._loopReact=a,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.ratio=o.ratio??this._defaults.ratio,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"PlayerProperty"}get playingReact(){return this._playingReact}get ratioReact(){return this._ratioReact}get loopReact(){return this._loopReact}get defaults(){return this._defaults}}p(Qh,"createPlayingRatio",Gv);class ln extends Qe{get type(){return"PositionProperty"}}class up extends Rt{get type(){return"PositionsProperty"}}class kv extends Rt{get type(){return"PositionsSetPropety"}}class Zh extends Qe{get type(){return"RotationProperty"}}class qu extends nt{get type(){return"UriProperty"}}class hp extends Js{constructor(e,i,n,s,a,o){super(e,i);p(this,"_defaults",{playing:!1,loop:!1});this._playingReact=n,this._stopFn=s,this._loopReact=a,o&&(this._defaults.playing=o.playing??this._defaults.playing,this._defaults.loop=o.loop??this._defaults.loop)}get type(){return"ViewPlayerProperty"}get playingReact(){return this._playingReact}get loopReact(){return this._loopReact}get stopFn(){return this._stopFn}get defaults(){return this._defaults}}class vf extends Rt{get type(){return"DatesProperty"}}class Gn extends Rt{get type(){return"DateProperty"}}var vt=(r=>(r.Place="place",r.Translation="translation",r.Rotation="rotation",r.Scale="scale",r.DoublePointsAppend="doublePointsAppend",r.DoublePointsModify="doublePointsModify",r.CircularAppend="circularAppend",r.CircularInsert="circularInsert",r.LineStringAppend="lineStringAppend",r.LineStringInsert="lineStringInsert",r.ScatterAppend="scatterAppend",r.ScatterModify="scatterModify",r.VisibilityAppend="visibilityAppend",r.VisibilityModify="visibilityModify",r.HeightModify="heightModify",r))(vt||{}),cp=(r=>(r.DECIMAL_DEGREE="DECIMAL_DEGREE",r.DEGREES_DECIMAL_MINUTES="DEGREES_DECIMAL_MINUTES",r.SEXAGESIMAL_DEGREE="SEXAGESIMAL_DEGREE",r))(cp||{});class zv{constructor(t){this.childPickedInfo=t}}class Vv{constructor(t,e,i,n,s,a){this.pickResult=t,this.sceneObject=e,this.tilesetPickInfo=i,this.geojsonPickInfo=n,this.attachedInfo=s,this.screenPosition=a}assign(t){t!=null&&t.pickedResult&&(this.pickResult=t.pickedResult),t!=null&&t.sceneObject&&(this.sceneObject=t.sceneObject),t!=null&&t.tilesetPickInfo&&(this.tilesetPickInfo=t.tilesetPickInfo),t!=null&&t.geojsonPickInfo&&(this.geojsonPickInfo=t.geojsonPickInfo),t!=null&&t.attachedInfo&&(this.attachedInfo=t.attachedInfo),t!=null&&t.screenPosition&&(this.screenPosition=t.screenPosition)}}class Uv extends d.Destroyable{constructor(e){super();p(this,"_sceneObjRefs",new Map);p(this,"_refs",{});p(this,"_refsChanged",this.dv(new d.Event));const i=(n,s,a)=>{if(a){const o=this.getLastSceneObject(a),l=this._sceneObjRefs.get(a);if(!l)console.warn(`this._sceneObjRefs中不存在ref(${a}), 可能系统存在逻辑问题`);else{const c=l.indexOf(n);c===-1?console.warn(`this._sceneObjRefs中不存在当前对象(id: ${n.id} type: ${n.typeName})!可能系统存在逻辑问题`):(l.splice(c,1),l.length===0&&this._sceneObjRefs.delete(a))}const u=this.getLastSceneObject(a);this._refs[a]=u,this._refsChanged.emit(u,o)}if(s){const o=this.getLastSceneObject(s),l=this._sceneObjRefs.get(s);l?(l.push(n),l.length>0&&console.warn(`同时存在多个ref${s}相同的场景对象!
2
2
  ${l.map(c=>`${c.id} ${c.typeName}
3
- `).join(" ")}`)):this._sceneObjRefs.set(s,[n]);const u=this.getLastSceneObject(s);this._refs[s]=u,this._refsChanged.emit(u,o)}};this.d(e.sceneObjCreatedEvent.don(n=>{const s=(a,o)=>i(n,a,o);n.ref&&s(n.ref,void 0),n.refChanged.don(s)})),this.d(e.sceneObjToDestroyEvent.don(n=>{n.ref&&i(n,void 0,n.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(e){const i=this.getSceneObjects(e);if(i)return i[i.length-1]}getSceneObjects(e){const i=this._sceneObjRefs.get(e);if(!(!i||i.length===0))return i}}function fp(r,t){const[e,i,n]=d.getReactFuncs(r),s=d.react(void 0),a=()=>{const o=e()??t;s.value=o&&ft.context.getStrFromEnv(o)};return a(),n&&s.d(n.don(a)),s.d(ft.context.environmentVariablesChanged.don(a)),s}function qv(r){do{const t=r.replace(/\${(.*?)\}/,(e,i)=>{const n=ft.context.getEnv(i);return n===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):n});if(t===r)break;r=t}while(!0);return r}class Wv extends d.Destroyable{constructor(){super();p(this,"_esObjConstructors",new Map);p(this,"_sceneObjs",new Map);p(this,"_sceneObjCreatedEvent",new d.Event);p(this,"_sceneObjToDestroyEvent",new d.Event);p(this,"_refsManager",this.dv(new Uv(this)));p(this,"_environmentVariables",window.ESSDK_ENV||{});p(this,"_environmentVariablesChanged",this.dv(new d.Event))}get typeNames(){return this._esObjConstructors.keys()}get sceneObjs(){return this._sceneObjs.values()}get sceneObjCreatedEvent(){return this._sceneObjCreatedEvent}get sceneObjToDestroyEvent(){return this._sceneObjToDestroyEvent}get refsManager(){return this._refsManager}get $refs(){return this._refsManager.refs}register(e,i,n){return this._esObjConstructors.has(e)&&console.warn(`register warn: ${e} has registered ! will be override!`),this._esObjConstructors.set(e,i),n&&d.setExtProp(i,"__sceneObjExtraInfo",n),e}_addSceneObject(e){this._sceneObjs.set(e.id,e),this._sceneObjCreatedEvent.emit(e),e.d(()=>this._deleteSceneObject(e))}addSceneObject(e){this._addSceneObject(e)}_deleteSceneObject(e){this._sceneObjToDestroyEvent.emit(e),this._sceneObjs.delete(e.id)}deleteSceneObject(e){this._deleteSceneObject(e)}createSceneObjectFromClass(e,i){if(!i||this._sceneObjs.has(i)){const s=d.createGuid();i&&console.warn(`已存在相同id的对象!id自动变更!${i} -> ${s} 请注意:id变更可能导致引用失效!`),i=s}if(!i)throw new Error("id不能为空!");const n=new e(i);return n.id!==i&&(console.warn(`sceneObj.id(${n.id}) !== id(${i}) sceneObjectType: ${n.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(n),n}createSceneObject(e,i){if(typeof e=="string"){const n=this._getSceneObjConstructor(e);if(!n){console.warn(`Cannot find SceneObjectType: ${e}`);return}return this.createSceneObjectFromClass(n,i)}else return this.createSceneObjectFromClass(e,i)}createSceneObjectFromJson(e){const i=this.createSceneObject(e.type,e.id);return i&&(i.json=e),i}destroySceneObject(e){return this._deleteSceneObject(e),e.destroy(),e.isDestroyed()}getSceneObjectById(e){return this._sceneObjs.get(e)}getSceneObject(e){if(!e&&e!="")return Array.from(this._sceneObjs.values());if(e.startsWith("ES")){const i=[];for(const n of this._sceneObjs.values())n.typeName===e&&i.push(n);return i}else return this._sceneObjs.get(e)}_getSceneObjConstructor(e){const i=this._esObjConstructors.get(e);if(i)return i}getProps(e){const i=this._getSceneObjConstructor(e);if(!i){console.warn(`cannot get constructor from type: ${e}`);return}return d.getExtProp(i,"__sceneObjExtraInfo")}setProps(e,i){const n=this._getSceneObjConstructor(e);if(!n){console.warn(`cannot get constructor from type: ${e}`);return}let s=d.getExtProp(n,"__sceneObjExtraInfo");s||(s={},d.setExtProp(n,"__sceneObjExtraInfo",s)),Object.assign(s,i)}getProp(e,i){const n=this.getProps(e);return n&&n[i]}setProp(e,i,n){this.setProps(e,{[i]:n})}get environmentVariables(){return this._environmentVariables}set environmentVariables(e){for(let[i,n]of Object.entries(e))this.setEnv(i,n)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(e,i){if(this._environmentVariables[e]!==i){const n=this._environmentVariables[e];this._environmentVariables[e]=i,this._environmentVariablesChanged.emit(e,i,n)}window.ESSDK_ENV={...this._environmentVariables}}getEnv(e){return this._environmentVariables[e]}getStrFromEnv(e){return qv(e)}createEnvStrReact(e,i){return fp(e,i)}createEvnStrReact(e,i){return fp(e,i)}}const Tt=class Tt extends d.Destroyable{constructor(e){super();p(this,"_components",this.dv(new d.ObservableSet));p(this,"_viewerAttached",this.dv(new d.Event));p(this,"_viewerDetached",this.dv(new d.Event));p(this,"_attachedViewers",(()=>{const e=new Set;return this.d(this._viewerAttached.don(i=>{e.add(i)})),this.d(this._viewerDetached.don(i=>{e.delete(i)})),e})());p(this,"_createdEvent",this.dv(new d.Event));p(this,"_flushEvent",this.dv(new d.Event));p(this,"_id");p(this,"viewer");p(this,"viewerChanged",this.ad(new d.Event));p(this,"combinationClass",!1);p(this,"mainClass");p(this,"_updateFuncReact",this.dv(d.react(void 0)));p(this,"_toDestroyFuncReact",this.dv(d.react(void 0)));p(this,"_parentID",this.disposeVar(d.react(void 0)));e!==void 0&&(typeof e!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof e},值为${e}`):e.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):e.trim()!==e&&console.warn(`id前后有空字符串!id: ${e}`)),this._id=e??d.createGuid(),this._initName();{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(n){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${n}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let n;this.d(()=>n&&n.destroy()),this.d(this.updateFuncChanged.don(()=>{n&&n.cancel(),this.updateFunc&&(n=n||d.createAnimateFrame(),n.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(n){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${n}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static get envs(){return Tt.context.environmentVariables}static get $refs(){return Tt.context.refsManager.refs}get components(){return this._components}get viewerAttached(){return this._viewerAttached}get viewerDetached(){return this._viewerDetached}get attachedViewers(){return this._attachedViewers}removefromViewer(e){this.attachedViewers.has(e)&&e.delete(this)}addToViewer(e){this.attachedViewers.has(e)||e.add(this)}registerAttachedObject(e){const i=new Map;this.d(()=>{i.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(n=>{const s=e(n);s&&i.set(n,s)})),this.d(this._viewerDetached.don(n=>{if(!i.has(n))return;const s=i.get(n);s&&(s.destroy(),i.delete(n))}))}createAttachedObject(e){const i=new Map,n=()=>{for(let[l,u]of i.entries())u.destroy();i.clear()},s=l=>{const u=e(l);u&&i.set(l,u)};for(let l of this.attachedViewers)s(l);const a=this._viewerAttached.don(s),o=this._viewerDetached.don(l=>{if(!i.has(l))return;const u=i.get(l);u&&(u.destroy(),i.delete(l))});return()=>{o(),a(),n()}}registerAttachedObjectForContainer(e){this.registerAttachedObject(i=>new Hv(i,e))}get createdEvent(){return this._createdEvent}get flushEvent(){return this._flushEvent}flush(){this.flushEvent.emit()}get id(){return this._id}get typeName(){return this.constructor.name}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return Tt.createDefaultProps()}getMainClass(){return this.mainClass??this}_innerGetJson(e=!0){const i={id:this.id,type:this.typeName};for(let n of Object.keys(this.defaultProps))if(e){let s,a=this.defaultProps[n];a instanceof d.ReactiveVariable?s=a.equals(this[n]):s=a===this[n],s||(i[n]=this[n])}else i[n]=this[n];return i}_innerGetJson1(e=!0){const i={id:this.id,type:this.typeName},n=this.constructor.properties;for(let s of Object.keys(n))if(e){let a,o=n[s];o instanceof d.ReactiveVariable?a=o.equals(this[s]):a=o===this[s],a||(i[s]=this[s])}else i[s]=this[s];return i}_innerSetJson(e,i,n){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=i||[];s.push("id","type");const a=Object.keys(this.defaultProps).filter(o=>!s.includes(o));for(let o of a)if(o in e)this[o]=e[o]===null?void 0:e[o];else if(!(n??!1)){let l=this.defaultProps[o];l instanceof d.ReactiveVariable&&(l=l.value),this[o]=l}}get json(){return this._innerGetJson()}set json(e){this._innerSetJson(e)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(e){this._innerSetJson(JSON.parse(e))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get parentID(){return this._parentID.value}set parentID(e){this._parentID.value=e}get parentIDChanged(){return this._parentID.changed}getProperties(e){return[new H("ESSceneObject","ESSceneObject",[new nt("对象类型","类型(type)",!1,!0,[this,"typeName"]),new nt("对象id","唯一标识符(id)",!1,!0,[this,"id"]),new nt("对象名称","名称(name)",!1,!1,[this,"name"]),new nt("ref","标识(ref),可通过 ESSceneObject.$refs.xxx快速获取到对象",!0,!1,[this,"ref"]),new Y("extras","扩展属性,必须整体赋值(extras)",!0,!1,[this,"extras"]),new lp("JSON","对象JSON数据动态更改导入导出。",!1,!1,()=>this._jsonStr,i=>i&&(this._jsonStr=i))])]}getESProperties(){return{defaultMenu:"basic",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[]}}static register1(e,i){let n={},s=e;for(;s&&s!==Object;)s.hasOwnProperty("properties")&&(n={...n,...s.properties}),s=Object.getPrototypeOf(s);return e.properties=Object.freeze(n),d.extendClassProps(e.prototype,()=>n),this.register(e.name,e,i),e.name}};p(Tt,"context",new Wv),p(Tt,"register",Tt.context.register.bind(Tt.context)),p(Tt,"create",Tt.context.createSceneObject.bind(Tt.context)),p(Tt,"createFromClass",Tt.context.createSceneObjectFromClass.bind(Tt.context)),p(Tt,"createFromJson",Tt.context.createSceneObjectFromJson.bind(Tt.context)),p(Tt,"destroySceneObject",Tt.context.destroySceneObject.bind(Tt.context)),p(Tt,"getSceneObjById",Tt.context.getSceneObjectById.bind(Tt.context)),p(Tt,"getSceneObj",Tt.context.getSceneObject.bind(Tt.context)),p(Tt,"getEnv",Tt.context.getEnv.bind(Tt.context)),p(Tt,"setEnv",Tt.context.setEnv.bind(Tt.context)),p(Tt,"getStrFromEnv",Tt.context.getStrFromEnv.bind(Tt.context)),p(Tt,"getSceneObjectById",Tt.context.getSceneObjectById.bind(Tt.context)),p(Tt,"getSceneObject",Tt.context.getSceneObject.bind(Tt.context)),p(Tt,"defaults",{}),p(Tt,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:d.reactJson(void 0),devTags:d.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),p(Tt,"properties",{reff:void 0});let ft=Tt;d.extendClassProps(ft.prototype,ft.createDefaultProps);class Hv extends d.Destroyable{constructor(t,e){super(),this.dv(new d.ObjResettingWithEvent(t.subContainerChanged,()=>{if(t.subContainer)return e(t,t.subContainer)}))}}function yf(r){return d.reactDeepArrayWithUndefined(r,(t,e)=>t[0]===e[0]&&t[1]===e[1],t=>[...t])}function dp(r,t){const e=new Array;for(let i of r)e.push(t(i));return e}function _f(r,t){return r===void 0&&t===void 0?!0:!r||!t?!1:r[0]===t[0]&&r[1]===t[1]&&r[2]===t[2]}var hr=63710088e-1,pp={centimeters:hr*100,centimetres:hr*100,degrees:hr/111325,feet:hr*3.28084,inches:hr*39.37,kilometers:hr/1e3,kilometres:hr/1e3,meters:hr,metres:hr,miles:hr/1609.344,millimeters:hr*1e3,millimetres:hr*1e3,nauticalmiles:hr/1852,radians:1,yards:hr*1.0936};function un(r,t,e){e===void 0&&(e={});var i={type:"Feature"};return(e.id===0||e.id)&&(i.id=e.id),e.bbox&&(i.bbox=e.bbox),i.properties=t||{},i.geometry=r,i}function ae(r,t,e){if(e===void 0&&(e={}),!r)throw new Error("coordinates is required");if(!Array.isArray(r))throw new Error("coordinates must be an Array");if(r.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!gp(r[0])||!gp(r[1]))throw new Error("coordinates must contain numbers");var i={type:"Point",coordinates:r};return un(i,t,e)}function Pr(r,t,e){e===void 0&&(e={});for(var i=0,n=r;i<n.length;i++){var s=n[i];if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<s[s.length-1].length;a++)if(s[s.length-1][a]!==s[0][a])throw new Error("First and last Position are not equivalent.")}var o={type:"Polygon",coordinates:r};return un(o,t,e)}function hn(r,t,e){if(e===void 0&&(e={}),r.length<2)throw new Error("coordinates must be an array of two or more positions");var i={type:"LineString",coordinates:r};return un(i,t,e)}function Yl(r,t){t===void 0&&(t={});var e={type:"FeatureCollection"};return t.id&&(e.id=t.id),t.bbox&&(e.bbox=t.bbox),e.features=r,e}function wf(r,t,e){e===void 0&&(e={});var i={type:"MultiPolygon",coordinates:r};return un(i,t,e)}function Ef(r,t){t===void 0&&(t="kilometers");var e=pp[t];if(!e)throw new Error(t+" units is invalid");return r*e}function Sf(r,t){t===void 0&&(t="kilometers");var e=pp[t];if(!e)throw new Error(t+" units is invalid");return r/e}function Bh(r){var t=r%(2*Math.PI);return t*180/Math.PI}function Cr(r){var t=r%360;return t*Math.PI/180}function Pf(r,t,e){if(t===void 0&&(t="kilometers"),e===void 0&&(e="kilometers"),!(r>=0))throw new Error("length must be a positive number");return Ef(Sf(r,t),e)}function gp(r){return!isNaN(r)&&r!==null&&!Array.isArray(r)}function Jl(r,t,e){if(r!==null)for(var i,n,s,a,o,l,u,c=0,h=0,f,g=r.type,m=g==="FeatureCollection",_=g==="Feature",E=m?r.features.length:1,M=0;M<E;M++){u=m?r.features[M].geometry:_?r.geometry:r,f=u?u.type==="GeometryCollection":!1,o=f?u.geometries.length:1;for(var y=0;y<o;y++){var w=0,v=0;if(a=f?u.geometries[y]:u,a!==null){l=a.coordinates;var S=a.type;switch(c=e&&(S==="Polygon"||S==="MultiPolygon")?1:0,S){case null:break;case"Point":if(t(l,h,M,w,v)===!1)return!1;h++,w++;break;case"LineString":case"MultiPoint":for(i=0;i<l.length;i++){if(t(l[i],h,M,w,v)===!1)return!1;h++,S==="MultiPoint"&&w++}S==="LineString"&&w++;break;case"Polygon":case"MultiLineString":for(i=0;i<l.length;i++){for(n=0;n<l[i].length-c;n++){if(t(l[i][n],h,M,w,v)===!1)return!1;h++}S==="MultiLineString"&&w++,S==="Polygon"&&v++}S==="Polygon"&&w++;break;case"MultiPolygon":for(i=0;i<l.length;i++){for(v=0,n=0;n<l[i].length;n++){for(s=0;s<l[i][n].length-c;s++){if(t(l[i][n][s],h,M,w,v)===!1)return!1;h++}v++}w++}break;case"GeometryCollection":for(i=0;i<a.geometries.length;i++)if(Jl(a.geometries[i],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function $h(r,t){if(r.type==="Feature")t(r,0);else if(r.type==="FeatureCollection")for(var e=0;e<r.features.length&&t(r.features[e],e)!==!1;e++);}function jh(r,t){var e,i,n,s,a,o,l,u,c,h,f=0,g=r.type==="FeatureCollection",m=r.type==="Feature",_=g?r.features.length:1;for(e=0;e<_;e++){for(o=g?r.features[e].geometry:m?r.geometry:r,u=g?r.features[e].properties:m?r.properties:{},c=g?r.features[e].bbox:m?r.bbox:void 0,h=g?r.features[e].id:m?r.id:void 0,l=o?o.type==="GeometryCollection":!1,a=l?o.geometries.length:1,n=0;n<a;n++){if(s=l?o.geometries[n]:o,s===null){if(t(null,f,u,c,h)===!1)return!1;continue}switch(s.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(s,f,u,c,h)===!1)return!1;break}case"GeometryCollection":{for(i=0;i<s.geometries.length;i++)if(t(s.geometries[i],f,u,c,h)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}f++}}function Xv(r,t,e){var i=e;return jh(r,function(n,s,a,o,l){i=t(i,n,s,a,o,l)}),i}function Cf(r,t){jh(r,function(e,i,n,s,a){var o=e===null?null:e.type;switch(o){case null:case"Point":case"LineString":case"Polygon":return t(un(e,n,{bbox:s,id:a}),i,0)===!1?!1:void 0}var l;switch(o){case"MultiPoint":l="Point";break;case"MultiLineString":l="LineString";break;case"MultiPolygon":l="Polygon";break}for(var u=0;u<e.coordinates.length;u++){var c=e.coordinates[u],h={type:l,coordinates:c};if(t(un(h,n),i,u)===!1)return!1}})}function Yv(r,t){Cf(r,function(e,i,n){var s=0;if(e.geometry){var a=e.geometry.type;if(!(a==="Point"||a==="MultiPoint")){var o,l=0,u=0,c=0;if(Jl(e,function(h,f,g,m,_){if(o===void 0||i>l||m>u||_>c){o=h,l=i,u=m,c=_,s=0;return}var E=hn([o,h],e.properties);if(t(E,i,n,_,s)===!1)return!1;s++,o=h})===!1)return!1}}})}function cn(r){var t=[1/0,1/0,-1/0,-1/0];return Jl(r,function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])}),t}cn.default=cn;function Rr(r){if(!r)throw new Error("coord is required");if(!Array.isArray(r)){if(r.type==="Feature"&&r.geometry!==null&&r.geometry.type==="Point")return r.geometry.coordinates;if(r.type==="Point")return r.coordinates}if(Array.isArray(r)&&r.length>=2&&!Array.isArray(r[0])&&!Array.isArray(r[1]))return r;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function La(r){if(Array.isArray(r))return r;if(r.type==="Feature"){if(r.geometry!==null)return r.geometry.coordinates}else if(r.coordinates)return r.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function mp(r,t,e){if(!r)throw new Error("No feature passed");if(!e)throw new Error(".featureOf() requires a name");if(!r||r.type!=="Feature"||!r.geometry)throw new Error("Invalid input to "+e+", Feature with geometry required");if(!r.geometry||r.geometry.type!==t)throw new Error("Invalid input to "+e+": must be a "+t+", given "+r.geometry.type)}function yi(r){return r.type==="Feature"?r.geometry:r}function Jv(r,t){return r.type==="FeatureCollection"?"FeatureCollection":r.type==="GeometryCollection"?"GeometryCollection":r.type==="Feature"&&r.geometry!==null?r.geometry.type:r.type}function vp(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function Kv(r){if(Object.prototype.hasOwnProperty.call(r,"__esModule"))return r;var t=r.default;if(typeof t=="function"){var e=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(r).forEach(function(i){var n=Object.getOwnPropertyDescriptor(r,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return r[i]}})}),e}var tc={exports:{}},ec={exports:{}},Qv=ec.exports,yp;function _p(){return yp||(yp=1,function(r,t){(function(e,i){r.exports=i()})(Qv,function(){function e(y,w,v,S,P){(function I(b,D,O,T,x){for(;T>O;){if(T-O>600){var R=T-O+1,z=D-O+1,rt=Math.log(R),Z=.5*Math.exp(2*rt/3),ct=.5*Math.sqrt(rt*Z*(R-Z)/R)*(z-R/2<0?-1:1),G=Math.max(O,Math.floor(D-z*Z/R+ct)),X=Math.min(T,Math.floor(D+(R-z)*Z/R+ct));I(b,D,G,X,x)}var k=b[D],V=O,A=T;for(i(b,O,D),x(b[T],k)>0&&i(b,O,T);V<A;){for(i(b,V,A),V++,A--;x(b[V],k)<0;)V++;for(;x(b[A],k)>0;)A--}x(b[O],k)===0?i(b,O,A):i(b,++A,T),A<=D&&(O=A+1),D<=A&&(T=A-1)}})(y,w,v||0,S||y.length-1,P||n)}function i(y,w,v){var S=y[w];y[w]=y[v],y[v]=S}function n(y,w){return y<w?-1:y>w?1:0}var s=function(y){y===void 0&&(y=9),this._maxEntries=Math.max(4,y),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function a(y,w,v){if(!v)return w.indexOf(y);for(var S=0;S<w.length;S++)if(v(y,w[S]))return S;return-1}function o(y,w){l(y,0,y.children.length,w,y)}function l(y,w,v,S,P){P||(P=E(null)),P.minX=1/0,P.minY=1/0,P.maxX=-1/0,P.maxY=-1/0;for(var I=w;I<v;I++){var b=y.children[I];u(P,y.leaf?S(b):b)}return P}function u(y,w){return y.minX=Math.min(y.minX,w.minX),y.minY=Math.min(y.minY,w.minY),y.maxX=Math.max(y.maxX,w.maxX),y.maxY=Math.max(y.maxY,w.maxY),y}function c(y,w){return y.minX-w.minX}function h(y,w){return y.minY-w.minY}function f(y){return(y.maxX-y.minX)*(y.maxY-y.minY)}function g(y){return y.maxX-y.minX+(y.maxY-y.minY)}function m(y,w){return y.minX<=w.minX&&y.minY<=w.minY&&w.maxX<=y.maxX&&w.maxY<=y.maxY}function _(y,w){return w.minX<=y.maxX&&w.minY<=y.maxY&&w.maxX>=y.minX&&w.maxY>=y.minY}function E(y){return{children:y,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function M(y,w,v,S,P){for(var I=[w,v];I.length;)if(!((v=I.pop())-(w=I.pop())<=S)){var b=w+Math.ceil((v-w)/S/2)*S;e(y,b,w,v,P),I.push(w,b,b,v)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(y){var w=this.data,v=[];if(!_(y,w))return v;for(var S=this.toBBox,P=[];w;){for(var I=0;I<w.children.length;I++){var b=w.children[I],D=w.leaf?S(b):b;_(y,D)&&(w.leaf?v.push(b):m(y,D)?this._all(b,v):P.push(b))}w=P.pop()}return v},s.prototype.collides=function(y){var w=this.data;if(!_(y,w))return!1;for(var v=[];w;){for(var S=0;S<w.children.length;S++){var P=w.children[S],I=w.leaf?this.toBBox(P):P;if(_(y,I)){if(w.leaf||m(y,I))return!0;v.push(P)}}w=v.pop()}return!1},s.prototype.load=function(y){if(!y||!y.length)return this;if(y.length<this._minEntries){for(var w=0;w<y.length;w++)this.insert(y[w]);return this}var v=this._build(y.slice(),0,y.length-1,0);if(this.data.children.length)if(this.data.height===v.height)this._splitRoot(this.data,v);else{if(this.data.height<v.height){var S=this.data;this.data=v,v=S}this._insert(v,this.data.height-v.height-1,!0)}else this.data=v;return this},s.prototype.insert=function(y){return y&&this._insert(y,this.data.height-1),this},s.prototype.clear=function(){return this.data=E([]),this},s.prototype.remove=function(y,w){if(!y)return this;for(var v,S,P,I=this.data,b=this.toBBox(y),D=[],O=[];I||D.length;){if(I||(I=D.pop(),S=D[D.length-1],v=O.pop(),P=!0),I.leaf){var T=a(y,I.children,w);if(T!==-1)return I.children.splice(T,1),D.push(I),this._condense(D),this}P||I.leaf||!m(I,b)?S?(v++,I=S.children[v],P=!1):I=null:(D.push(I),O.push(v),v=0,S=I,I=I.children[0])}return this},s.prototype.toBBox=function(y){return y},s.prototype.compareMinX=function(y,w){return y.minX-w.minX},s.prototype.compareMinY=function(y,w){return y.minY-w.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(y){return this.data=y,this},s.prototype._all=function(y,w){for(var v=[];y;)y.leaf?w.push.apply(w,y.children):v.push.apply(v,y.children),y=v.pop();return w},s.prototype._build=function(y,w,v,S){var P,I=v-w+1,b=this._maxEntries;if(I<=b)return o(P=E(y.slice(w,v+1)),this.toBBox),P;S||(S=Math.ceil(Math.log(I)/Math.log(b)),b=Math.ceil(I/Math.pow(b,S-1))),(P=E([])).leaf=!1,P.height=S;var D=Math.ceil(I/b),O=D*Math.ceil(Math.sqrt(b));M(y,w,v,O,this.compareMinX);for(var T=w;T<=v;T+=O){var x=Math.min(T+O-1,v);M(y,T,x,D,this.compareMinY);for(var R=T;R<=x;R+=D){var z=Math.min(R+D-1,x);P.children.push(this._build(y,R,z,S-1))}}return o(P,this.toBBox),P},s.prototype._chooseSubtree=function(y,w,v,S){for(;S.push(w),!w.leaf&&S.length-1!==v;){for(var P=1/0,I=1/0,b=void 0,D=0;D<w.children.length;D++){var O=w.children[D],T=f(O),x=(R=y,z=O,(Math.max(z.maxX,R.maxX)-Math.min(z.minX,R.minX))*(Math.max(z.maxY,R.maxY)-Math.min(z.minY,R.minY))-T);x<I?(I=x,P=T<P?T:P,b=O):x===I&&T<P&&(P=T,b=O)}w=b||w.children[0]}var R,z;return w},s.prototype._insert=function(y,w,v){var S=v?y:this.toBBox(y),P=[],I=this._chooseSubtree(S,this.data,w,P);for(I.children.push(y),u(I,S);w>=0&&P[w].children.length>this._maxEntries;)this._split(P,w),w--;this._adjustParentBBoxes(S,P,w)},s.prototype._split=function(y,w){var v=y[w],S=v.children.length,P=this._minEntries;this._chooseSplitAxis(v,P,S);var I=this._chooseSplitIndex(v,P,S),b=E(v.children.splice(I,v.children.length-I));b.height=v.height,b.leaf=v.leaf,o(v,this.toBBox),o(b,this.toBBox),w?y[w-1].children.push(b):this._splitRoot(v,b)},s.prototype._splitRoot=function(y,w){this.data=E([y,w]),this.data.height=y.height+1,this.data.leaf=!1,o(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(y,w,v){for(var S,P,I,b,D,O,T,x=1/0,R=1/0,z=w;z<=v-w;z++){var rt=l(y,0,z,this.toBBox),Z=l(y,z,v,this.toBBox),ct=(P=rt,I=Z,b=void 0,D=void 0,O=void 0,T=void 0,b=Math.max(P.minX,I.minX),D=Math.max(P.minY,I.minY),O=Math.min(P.maxX,I.maxX),T=Math.min(P.maxY,I.maxY),Math.max(0,O-b)*Math.max(0,T-D)),G=f(rt)+f(Z);ct<x?(x=ct,S=z,R=G<R?G:R):ct===x&&G<R&&(R=G,S=z)}return S||v-w},s.prototype._chooseSplitAxis=function(y,w,v){var S=y.leaf?this.compareMinX:c,P=y.leaf?this.compareMinY:h;this._allDistMargin(y,w,v,S)<this._allDistMargin(y,w,v,P)&&y.children.sort(S)},s.prototype._allDistMargin=function(y,w,v,S){y.children.sort(S);for(var P=this.toBBox,I=l(y,0,w,P),b=l(y,v-w,v,P),D=g(I)+g(b),O=w;O<v-w;O++){var T=y.children[O];u(I,y.leaf?P(T):T),D+=g(I)}for(var x=v-w-1;x>=w;x--){var R=y.children[x];u(b,y.leaf?P(R):R),D+=g(b)}return D},s.prototype._adjustParentBBoxes=function(y,w,v){for(var S=v;S>=0;S--)u(w[S],y)},s.prototype._condense=function(y){for(var w=y.length-1,v=void 0;w>=0;w--)y[w].children.length===0?w>0?(v=y[w-1].children).splice(v.indexOf(y[w]),1):this.clear():o(y[w],this.toBBox)},s})}(ec)),ec.exports}class Zv{constructor(t=[],e=Bv){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let i=(this.length>>1)-1;i>=0;i--)this._down(i)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,n=e[t];for(;t>0;){const s=t-1>>1,a=e[s];if(i(n,a)>=0)break;e[t]=a,t=s}e[t]=n}_down(t){const{data:e,compare:i}=this,n=this.length>>1,s=e[t];for(;t<n;){let a=(t<<1)+1,o=e[a];const l=a+1;if(l<this.length&&i(e[l],o)<0&&(a=l,o=e[l]),i(o,s)>=0)break;e[t]=o,t=a}e[t]=s}}function Bv(r,t){return r<t?-1:r>t?1:0}const $v=Kv(Object.freeze(Object.defineProperty({__proto__:null,default:Zv},Symbol.toStringTag,{value:"Module"})));var Wu={exports:{}},If,wp;function jv(){return wp||(wp=1,If=function(t,e,i,n){var s=t[0],a=t[1],o=!1;i===void 0&&(i=0),n===void 0&&(n=e.length);for(var l=(n-i)/2,u=0,c=l-1;u<l;c=u++){var h=e[i+u*2+0],f=e[i+u*2+1],g=e[i+c*2+0],m=e[i+c*2+1],_=f>a!=m>a&&s<(g-h)*(a-f)/(m-f)+h;_&&(o=!o)}return o}),If}var Mf,Ep;function ty(){return Ep||(Ep=1,Mf=function(t,e,i,n){var s=t[0],a=t[1],o=!1;i===void 0&&(i=0),n===void 0&&(n=e.length);for(var l=n-i,u=0,c=l-1;u<l;c=u++){var h=e[u+i][0],f=e[u+i][1],g=e[c+i][0],m=e[c+i][1],_=f>a!=m>a&&s<(g-h)*(a-f)/(m-f)+h;_&&(o=!o)}return o}),Mf}var Sp;function ey(){if(Sp)return Wu.exports;Sp=1;var r=jv(),t=ty();return Wu.exports=function(i,n,s,a){return n.length>0&&Array.isArray(n[0])?t(i,n,s,a):r(i,n,s,a)},Wu.exports.nested=t,Wu.exports.flat=r,Wu.exports}var Hu={exports:{}},ry=Hu.exports,Pp;function iy(){return Pp||(Pp=1,function(r,t){(function(e,i){i(t)})(ry,function(e){const n=33306690738754706e-32;function s(_,E,M,y,w){let v,S,P,I,b=E[0],D=y[0],O=0,T=0;D>b==D>-b?(v=b,b=E[++O]):(v=D,D=y[++T]);let x=0;if(O<_&&T<M)for(D>b==D>-b?(P=v-((S=b+v)-b),b=E[++O]):(P=v-((S=D+v)-D),D=y[++T]),v=S,P!==0&&(w[x++]=P);O<_&&T<M;)D>b==D>-b?(P=v-((S=v+b)-(I=S-v))+(b-I),b=E[++O]):(P=v-((S=v+D)-(I=S-v))+(D-I),D=y[++T]),v=S,P!==0&&(w[x++]=P);for(;O<_;)P=v-((S=v+b)-(I=S-v))+(b-I),b=E[++O],v=S,P!==0&&(w[x++]=P);for(;T<M;)P=v-((S=v+D)-(I=S-v))+(D-I),D=y[++T],v=S,P!==0&&(w[x++]=P);return v===0&&x!==0||(w[x++]=v),x}function a(_){return new Float64Array(_)}const o=33306690738754716e-32,l=22204460492503146e-32,u=11093356479670487e-47,c=a(4),h=a(8),f=a(12),g=a(16),m=a(4);e.orient2d=function(_,E,M,y,w,v){const S=(E-v)*(M-w),P=(_-w)*(y-v),I=S-P;if(S===0||P===0||S>0!=P>0)return I;const b=Math.abs(S+P);return Math.abs(I)>=o*b?I:-function(D,O,T,x,R,z,rt){let Z,ct,G,X,k,V,A,W,J,ot,gt,lt,St,ut,It,Nt,j,Pt;const bt=D-R,Gt=T-R,Ht=O-z,Xt=x-z;k=(It=(W=bt-(A=(V=134217729*bt)-(V-bt)))*(ot=Xt-(J=(V=134217729*Xt)-(V-Xt)))-((ut=bt*Xt)-A*J-W*J-A*ot))-(gt=It-(j=(W=Ht-(A=(V=134217729*Ht)-(V-Ht)))*(ot=Gt-(J=(V=134217729*Gt)-(V-Gt)))-((Nt=Ht*Gt)-A*J-W*J-A*ot))),c[0]=It-(gt+k)+(k-j),k=(St=ut-((lt=ut+gt)-(k=lt-ut))+(gt-k))-(gt=St-Nt),c[1]=St-(gt+k)+(k-Nt),k=(Pt=lt+gt)-lt,c[2]=lt-(Pt-k)+(gt-k),c[3]=Pt;let Bt=function(zt,Ee){let ke=Ee[0];for(let on=1;on<zt;on++)ke+=Ee[on];return ke}(4,c),me=l*rt;if(Bt>=me||-Bt>=me||(Z=D-(bt+(k=D-bt))+(k-R),G=T-(Gt+(k=T-Gt))+(k-R),ct=O-(Ht+(k=O-Ht))+(k-z),X=x-(Xt+(k=x-Xt))+(k-z),Z===0&&ct===0&&G===0&&X===0)||(me=u*rt+n*Math.abs(Bt),(Bt+=bt*X+Xt*Z-(Ht*G+Gt*ct))>=me||-Bt>=me))return Bt;k=(It=(W=Z-(A=(V=134217729*Z)-(V-Z)))*(ot=Xt-(J=(V=134217729*Xt)-(V-Xt)))-((ut=Z*Xt)-A*J-W*J-A*ot))-(gt=It-(j=(W=ct-(A=(V=134217729*ct)-(V-ct)))*(ot=Gt-(J=(V=134217729*Gt)-(V-Gt)))-((Nt=ct*Gt)-A*J-W*J-A*ot))),m[0]=It-(gt+k)+(k-j),k=(St=ut-((lt=ut+gt)-(k=lt-ut))+(gt-k))-(gt=St-Nt),m[1]=St-(gt+k)+(k-Nt),k=(Pt=lt+gt)-lt,m[2]=lt-(Pt-k)+(gt-k),m[3]=Pt;const Ke=s(4,c,4,m,h);k=(It=(W=bt-(A=(V=134217729*bt)-(V-bt)))*(ot=X-(J=(V=134217729*X)-(V-X)))-((ut=bt*X)-A*J-W*J-A*ot))-(gt=It-(j=(W=Ht-(A=(V=134217729*Ht)-(V-Ht)))*(ot=G-(J=(V=134217729*G)-(V-G)))-((Nt=Ht*G)-A*J-W*J-A*ot))),m[0]=It-(gt+k)+(k-j),k=(St=ut-((lt=ut+gt)-(k=lt-ut))+(gt-k))-(gt=St-Nt),m[1]=St-(gt+k)+(k-Nt),k=(Pt=lt+gt)-lt,m[2]=lt-(Pt-k)+(gt-k),m[3]=Pt;const Yt=s(Ke,h,4,m,f);k=(It=(W=Z-(A=(V=134217729*Z)-(V-Z)))*(ot=X-(J=(V=134217729*X)-(V-X)))-((ut=Z*X)-A*J-W*J-A*ot))-(gt=It-(j=(W=ct-(A=(V=134217729*ct)-(V-ct)))*(ot=G-(J=(V=134217729*G)-(V-G)))-((Nt=ct*G)-A*J-W*J-A*ot))),m[0]=It-(gt+k)+(k-j),k=(St=ut-((lt=ut+gt)-(k=lt-ut))+(gt-k))-(gt=St-Nt),m[1]=St-(gt+k)+(k-Nt),k=(Pt=lt+gt)-lt,m[2]=lt-(Pt-k)+(gt-k),m[3]=Pt;const kt=s(Yt,f,4,m,g);return g[kt-1]}(_,E,M,y,w,v,b)},e.orient2dfast=function(_,E,M,y,w,v){return(E-v)*(M-w)-(_-w)*(y-v)},Object.defineProperty(e,"__esModule",{value:!0})})}(Hu,Hu.exports)),Hu.exports}var Cp;function ny(){if(Cp)return tc.exports;Cp=1;var r=_p(),t=$v,e=ey(),i=iy().orient2d;t.default&&(t=t.default),tc.exports=n,tc.exports.default=n;function n(v,S,P){S=Math.max(0,S===void 0?2:S),P=P||0;var I=g(v),b=new r(16);b.toBBox=function(A){return{minX:A[0],minY:A[1],maxX:A[0],maxY:A[1]}},b.compareMinX=function(A,W){return A[0]-W[0]},b.compareMinY=function(A,W){return A[1]-W[1]},b.load(v);for(var D=[],O=0,T;O<I.length;O++){var x=I[O];b.remove(x),T=m(x,T),D.push(T)}var R=new r(16);for(O=0;O<D.length;O++)R.insert(f(D[O]));for(var z=S*S,rt=P*P;D.length;){var Z=D.shift(),ct=Z.p,G=Z.next.p,X=_(ct,G);if(!(X<rt)){var k=X/z;x=s(b,Z.prev.p,ct,G,Z.next.next.p,k,R),x&&Math.min(_(x,ct),_(x,G))<=k&&(D.push(Z),D.push(m(x,Z)),b.remove(x),R.remove(Z),R.insert(f(Z)),R.insert(f(Z.next)))}}Z=T;var V=[];do V.push(Z.p),Z=Z.next;while(Z!==T);return V.push(Z.p),V}function s(v,S,P,I,b,D,O){for(var T=new t([],a),x=v.data;x;){for(var R=0;R<x.children.length;R++){var z=x.children[R],rt=x.leaf?E(z,P,I):o(P,I,z);rt>D||T.push({node:z,dist:rt})}for(;T.length&&!T.peek().node.children;){var Z=T.pop(),ct=Z.node,G=E(ct,S,P),X=E(ct,I,b);if(Z.dist<G&&Z.dist<X&&u(P,ct,O)&&u(I,ct,O))return ct}x=T.pop(),x&&(x=x.node)}return null}function a(v,S){return v.dist-S.dist}function o(v,S,P){if(l(v,P)||l(S,P))return 0;var I=M(v[0],v[1],S[0],S[1],P.minX,P.minY,P.maxX,P.minY);if(I===0)return 0;var b=M(v[0],v[1],S[0],S[1],P.minX,P.minY,P.minX,P.maxY);if(b===0)return 0;var D=M(v[0],v[1],S[0],S[1],P.maxX,P.minY,P.maxX,P.maxY);if(D===0)return 0;var O=M(v[0],v[1],S[0],S[1],P.minX,P.maxY,P.maxX,P.maxY);return O===0?0:Math.min(I,b,D,O)}function l(v,S){return v[0]>=S.minX&&v[0]<=S.maxX&&v[1]>=S.minY&&v[1]<=S.maxY}function u(v,S,P){for(var I=Math.min(v[0],S[0]),b=Math.min(v[1],S[1]),D=Math.max(v[0],S[0]),O=Math.max(v[1],S[1]),T=P.search({minX:I,minY:b,maxX:D,maxY:O}),x=0;x<T.length;x++)if(h(T[x].p,T[x].next.p,v,S))return!1;return!0}function c(v,S,P){return i(v[0],v[1],S[0],S[1],P[0],P[1])}function h(v,S,P,I){return v!==I&&S!==P&&c(v,S,P)>0!=c(v,S,I)>0&&c(P,I,v)>0!=c(P,I,S)>0}function f(v){var S=v.p,P=v.next.p;return v.minX=Math.min(S[0],P[0]),v.minY=Math.min(S[1],P[1]),v.maxX=Math.max(S[0],P[0]),v.maxY=Math.max(S[1],P[1]),v}function g(v){for(var S=v[0],P=v[0],I=v[0],b=v[0],D=0;D<v.length;D++){var O=v[D];O[0]<S[0]&&(S=O),O[0]>I[0]&&(I=O),O[1]<P[1]&&(P=O),O[1]>b[1]&&(b=O)}var T=[S,P,I,b],x=T.slice();for(D=0;D<v.length;D++)e(v[D],T)||x.push(v[D]);return w(x)}function m(v,S){var P={p:v,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return S?(P.next=S.next,P.prev=S,S.next.prev=P,S.next=P):(P.prev=P,P.next=P),P}function _(v,S){var P=v[0]-S[0],I=v[1]-S[1];return P*P+I*I}function E(v,S,P){var I=S[0],b=S[1],D=P[0]-I,O=P[1]-b;if(D!==0||O!==0){var T=((v[0]-I)*D+(v[1]-b)*O)/(D*D+O*O);T>1?(I=P[0],b=P[1]):T>0&&(I+=D*T,b+=O*T)}return D=v[0]-I,O=v[1]-b,D*D+O*O}function M(v,S,P,I,b,D,O,T){var x=P-v,R=I-S,z=O-b,rt=T-D,Z=v-b,ct=S-D,G=x*x+R*R,X=x*z+R*rt,k=z*z+rt*rt,V=x*Z+R*ct,A=z*Z+rt*ct,W=G*k-X*X,J,ot,gt,lt,St=W,ut=W;W===0?(ot=0,St=1,lt=A,ut=k):(ot=X*A-k*V,lt=G*A-X*V,ot<0?(ot=0,lt=A,ut=k):ot>St&&(ot=St,lt=A+X,ut=k)),lt<0?(lt=0,-V<0?ot=0:-V>G?ot=St:(ot=-V,St=G)):lt>ut&&(lt=ut,-V+X<0?ot=0:-V+X>G?ot=St:(ot=-V+X,St=G)),J=ot===0?0:ot/St,gt=lt===0?0:lt/ut;var It=(1-J)*v+J*P,Nt=(1-J)*S+J*I,j=(1-gt)*b+gt*O,Pt=(1-gt)*D+gt*T,bt=j-It,Gt=Pt-Nt;return bt*bt+Gt*Gt}function y(v,S){return v[0]===S[0]?v[1]-S[1]:v[0]-S[0]}function w(v){v.sort(y);for(var S=[],P=0;P<v.length;P++){for(;S.length>=2&&c(S[S.length-2],S[S.length-1],v[P])<=0;)S.pop();S.push(v[P])}for(var I=[],b=v.length-1;b>=0;b--){for(;I.length>=2&&c(I[I.length-2],I[I.length-1],v[b])<=0;)I.pop();I.push(v[b])}return I.pop(),S.pop(),S.concat(I)}return tc.exports}var sy=ny();const ay=vp(sy);function oy(r,t){t===void 0&&(t={}),t.concavity=t.concavity||1/0;var e=[];if(Jl(r,function(n){e.push([n[0],n[1]])}),!e.length)return null;var i=ay(e,t.concavity);return i.length>3?Pr([i]):null}function Fi(r,t,e){if(e===void 0&&(e={}),!r)throw new Error("point is required");if(!t)throw new Error("polygon is required");var i=Rr(r),n=yi(t),s=n.type,a=t.bbox,o=n.coordinates;if(a&&ly(i,a)===!1)return!1;s==="Polygon"&&(o=[o]);for(var l=!1,u=0;u<o.length&&!l;u++)if(Ip(i,o[u][0],e.ignoreBoundary)){for(var c=!1,h=1;h<o[u].length&&!c;)Ip(i,o[u][h],!e.ignoreBoundary)&&(c=!0),h++;c||(l=!0)}return l}function Ip(r,t,e){var i=!1;t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&(t=t.slice(0,t.length-1));for(var n=0,s=t.length-1;n<t.length;s=n++){var a=t[n][0],o=t[n][1],l=t[s][0],u=t[s][1],c=r[1]*(a-l)+o*(l-r[0])+u*(r[0]-a)===0&&(a-r[0])*(l-r[0])<=0&&(o-r[1])*(u-r[1])<=0;if(c)return!e;var h=o>r[1]!=u>r[1]&&r[0]<(l-a)*(r[1]-o)/(u-o)+a;h&&(i=!i)}return i}function ly(r,t){return t[0]<=r[0]&&t[1]<=r[1]&&t[2]>=r[0]&&t[3]>=r[1]}function ps(r,t,e){e===void 0&&(e={});var i=Rr(r),n=Rr(t),s=Cr(n[1]-i[1]),a=Cr(n[0]-i[0]),o=Cr(i[1]),l=Cr(n[1]),u=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(a/2),2)*Math.cos(o)*Math.cos(l);return Ef(2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)),e.units)}function Kl(r,t,e,i){i===void 0&&(i={});var n=Rr(r),s=Cr(n[0]),a=Cr(n[1]),o=Cr(e),l=Sf(t,i.units),u=Math.asin(Math.sin(a)*Math.cos(l)+Math.cos(a)*Math.sin(l)*Math.cos(o)),c=s+Math.atan2(Math.sin(o)*Math.sin(l)*Math.cos(a),Math.cos(l)-Math.sin(a)*Math.sin(u)),h=Bh(c),f=Bh(u);return ae([h,f],i.properties)}function uy(r,t,e){e===void 0&&(e={});for(var i=e.steps||64,n=e.properties?e.properties:!Array.isArray(r)&&r.type==="Feature"&&r.properties?r.properties:{},s=[],a=0;a<i;a++)s.push(Kl(r,t,a*-360/i,e).geometry.coordinates);return s.push(s[0]),Pr([s],n)}function Xu(r,t,e){if(e===void 0&&(e={}),e.final===!0)return hy(r,t);var i=Rr(r),n=Rr(t),s=Cr(i[0]),a=Cr(n[0]),o=Cr(i[1]),l=Cr(n[1]),u=Math.sin(a-s)*Math.cos(l),c=Math.cos(o)*Math.sin(l)-Math.sin(o)*Math.cos(l)*Math.cos(a-s);return Bh(Math.atan2(u,c))}function hy(r,t){var e=Xu(t,r);return e=(e+180)%360,e}function cy(r,t){var e=ps(r,t),i=Xu(r,t),n=Kl(r,e/2,i);return n}function fy(r,t){t===void 0&&(t={});var e=cn(r),i=(e[0]+e[2])/2,n=(e[1]+e[3])/2;return ae([i,n],t.properties,t)}function Mp(r,t){t===void 0&&(t={});var e=0,i=0,n=0;return Jl(r,function(s){e+=s[0],i+=s[1],n++},!0),ae([e/n,i/n],t.properties)}function Np(r,t){switch(t===void 0&&(t={}),Jv(r)){case"Point":return ae(Rr(r),t.properties);case"Polygon":var e=[];Jl(r,function(v){e.push(v)});var i=Mp(r,{properties:t.properties}),n=i.geometry.coordinates,s=0,a=0,o=0,l,u,c,h,f,g,m,_,E=e.map(function(v){return[v[0]-n[0],v[1]-n[1]]});for(l=0;l<e.length-1;l++)u=E[l],h=u[0],g=u[1],c=E[l+1],f=c[0],m=c[1],_=h*m-f*g,o+=_,s+=(h+f)*_,a+=(g+m)*_;if(o===0)return i;var M=o*.5,y=1/(6*M);return ae([n[0]+y*s,n[1]+y*a],t.properties);default:var w=oy(r);return w?Np(w,{properties:t.properties}):Mp(r,{properties:t.properties})}}function bp(r){if(!r)throw new Error("geojson is required");var t=[];return Cf(r,function(e){dy(e,t)}),Yl(t)}function dy(r,t){var e=[],i=r.geometry;if(i!==null){switch(i.type){case"Polygon":e=La(i);break;case"LineString":e=[La(i)]}e.forEach(function(n){var s=py(n,r.properties);s.forEach(function(a){a.id=t.length,t.push(a)})})}}function py(r,t){var e=[];return r.reduce(function(i,n){var s=hn([i,n],t);return s.bbox=gy(i,n),e.push(s),n}),e}function gy(r,t){var e=r[0],i=r[1],n=t[0],s=t[1],a=e<n?e:n,o=i<s?i:s,l=e>n?e:n,u=i>s?i:s;return[a,o,l,u]}var rc={exports:{}},Nf={},Tp;function Dp(){return Tp||(Tp=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.earthRadius=63710088e-1,r.factors={centimeters:r.earthRadius*100,centimetres:r.earthRadius*100,degrees:r.earthRadius/111325,feet:r.earthRadius*3.28084,inches:r.earthRadius*39.37,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:r.earthRadius*1e3,millimetres:r.earthRadius*1e3,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius*1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:8982708286548395e-21,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:.0006213711922373339,millimeters:1e3,millimetres:1e3,nauticalmiles:.0005399568034557236,radians:1/r.earthRadius,yards:1.0936133},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function t(T,x,R){R===void 0&&(R={});var z={type:"Feature"};return(R.id===0||R.id)&&(z.id=R.id),R.bbox&&(z.bbox=R.bbox),z.properties=x||{},z.geometry=T,z}r.feature=t;function e(T,x,R){switch(T){case"Point":return i(x).geometry;case"LineString":return o(x).geometry;case"Polygon":return s(x).geometry;case"MultiPoint":return h(x).geometry;case"MultiLineString":return c(x).geometry;case"MultiPolygon":return f(x).geometry;default:throw new Error(T+" is invalid")}}r.geometry=e;function i(T,x,R){if(R===void 0&&(R={}),!T)throw new Error("coordinates is required");if(!Array.isArray(T))throw new Error("coordinates must be an Array");if(T.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!I(T[0])||!I(T[1]))throw new Error("coordinates must contain numbers");var z={type:"Point",coordinates:T};return t(z,x,R)}r.point=i;function n(T,x,R){return R===void 0&&(R={}),u(T.map(function(z){return i(z,x)}),R)}r.points=n;function s(T,x,R){R===void 0&&(R={});for(var z=0,rt=T;z<rt.length;z++){var Z=rt[z];if(Z.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var ct=0;ct<Z[Z.length-1].length;ct++)if(Z[Z.length-1][ct]!==Z[0][ct])throw new Error("First and last Position are not equivalent.")}var G={type:"Polygon",coordinates:T};return t(G,x,R)}r.polygon=s;function a(T,x,R){return R===void 0&&(R={}),u(T.map(function(z){return s(z,x)}),R)}r.polygons=a;function o(T,x,R){if(R===void 0&&(R={}),T.length<2)throw new Error("coordinates must be an array of two or more positions");var z={type:"LineString",coordinates:T};return t(z,x,R)}r.lineString=o;function l(T,x,R){return R===void 0&&(R={}),u(T.map(function(z){return o(z,x)}),R)}r.lineStrings=l;function u(T,x){x===void 0&&(x={});var R={type:"FeatureCollection"};return x.id&&(R.id=x.id),x.bbox&&(R.bbox=x.bbox),R.features=T,R}r.featureCollection=u;function c(T,x,R){R===void 0&&(R={});var z={type:"MultiLineString",coordinates:T};return t(z,x,R)}r.multiLineString=c;function h(T,x,R){R===void 0&&(R={});var z={type:"MultiPoint",coordinates:T};return t(z,x,R)}r.multiPoint=h;function f(T,x,R){R===void 0&&(R={});var z={type:"MultiPolygon",coordinates:T};return t(z,x,R)}r.multiPolygon=f;function g(T,x,R){R===void 0&&(R={});var z={type:"GeometryCollection",geometries:T};return t(z,x,R)}r.geometryCollection=g;function m(T,x){if(x===void 0&&(x=0),x&&!(x>=0))throw new Error("precision must be a positive number");var R=Math.pow(10,x||0);return Math.round(T*R)/R}r.round=m;function _(T,x){x===void 0&&(x="kilometers");var R=r.factors[x];if(!R)throw new Error(x+" units is invalid");return T*R}r.radiansToLength=_;function E(T,x){x===void 0&&(x="kilometers");var R=r.factors[x];if(!R)throw new Error(x+" units is invalid");return T/R}r.lengthToRadians=E;function M(T,x){return w(E(T,x))}r.lengthToDegrees=M;function y(T){var x=T%360;return x<0&&(x+=360),x}r.bearingToAzimuth=y;function w(T){var x=T%(2*Math.PI);return x*180/Math.PI}r.radiansToDegrees=w;function v(T){var x=T%360;return x*Math.PI/180}r.degreesToRadians=v;function S(T,x,R){if(x===void 0&&(x="kilometers"),R===void 0&&(R="kilometers"),!(T>=0))throw new Error("length must be a positive number");return _(E(T,x),R)}r.convertLength=S;function P(T,x,R){if(x===void 0&&(x="meters"),R===void 0&&(R="kilometers"),!(T>=0))throw new Error("area must be a positive number");var z=r.areaFactors[x];if(!z)throw new Error("invalid original units");var rt=r.areaFactors[R];if(!rt)throw new Error("invalid final units");return T/z*rt}r.convertArea=P;function I(T){return!isNaN(T)&&T!==null&&!Array.isArray(T)}r.isNumber=I;function b(T){return!!T&&T.constructor===Object}r.isObject=b;function D(T){if(!T)throw new Error("bbox is required");if(!Array.isArray(T))throw new Error("bbox must be an Array");if(T.length!==4&&T.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");T.forEach(function(x){if(!I(x))throw new Error("bbox must only contain numbers")})}r.validateBBox=D;function O(T){if(!T)throw new Error("id is required");if(["string","number"].indexOf(typeof T)===-1)throw new Error("id must be a number or a string")}r.validateId=O}(Nf)),Nf}var ze={},xp;function Op(){if(xp)return ze;xp=1,Object.defineProperty(ze,"__esModule",{value:!0});var r=Dp();function t(y,w,v){if(y!==null)for(var S,P,I,b,D,O,T,x=0,R=0,z,rt=y.type,Z=rt==="FeatureCollection",ct=rt==="Feature",G=Z?y.features.length:1,X=0;X<G;X++){T=Z?y.features[X].geometry:ct?y.geometry:y,z=T?T.type==="GeometryCollection":!1,D=z?T.geometries.length:1;for(var k=0;k<D;k++){var V=0,A=0;if(b=z?T.geometries[k]:T,b!==null){O=b.coordinates;var W=b.type;switch(x=v&&(W==="Polygon"||W==="MultiPolygon")?1:0,W){case null:break;case"Point":if(w(O,R,X,V,A)===!1)return!1;R++,V++;break;case"LineString":case"MultiPoint":for(S=0;S<O.length;S++){if(w(O[S],R,X,V,A)===!1)return!1;R++,W==="MultiPoint"&&V++}W==="LineString"&&V++;break;case"Polygon":case"MultiLineString":for(S=0;S<O.length;S++){for(P=0;P<O[S].length-x;P++){if(w(O[S][P],R,X,V,A)===!1)return!1;R++}W==="MultiLineString"&&V++,W==="Polygon"&&A++}W==="Polygon"&&V++;break;case"MultiPolygon":for(S=0;S<O.length;S++){for(A=0,P=0;P<O[S].length;P++){for(I=0;I<O[S][P].length-x;I++){if(w(O[S][P][I],R,X,V,A)===!1)return!1;R++}A++}V++}break;case"GeometryCollection":for(S=0;S<b.geometries.length;S++)if(t(b.geometries[S],w,v)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function e(y,w,v,S){var P=v;return t(y,function(I,b,D,O,T){b===0&&v===void 0?P=I:P=w(P,I,b,D,O,T)},S),P}function i(y,w){var v;switch(y.type){case"FeatureCollection":for(v=0;v<y.features.length&&w(y.features[v].properties,v)!==!1;v++);break;case"Feature":w(y.properties,0);break}}function n(y,w,v){var S=v;return i(y,function(P,I){I===0&&v===void 0?S=P:S=w(S,P,I)}),S}function s(y,w){if(y.type==="Feature")w(y,0);else if(y.type==="FeatureCollection")for(var v=0;v<y.features.length&&w(y.features[v],v)!==!1;v++);}function a(y,w,v){var S=v;return s(y,function(P,I){I===0&&v===void 0?S=P:S=w(S,P,I)}),S}function o(y){var w=[];return t(y,function(v){w.push(v)}),w}function l(y,w){var v,S,P,I,b,D,O,T,x,R,z=0,rt=y.type==="FeatureCollection",Z=y.type==="Feature",ct=rt?y.features.length:1;for(v=0;v<ct;v++){for(D=rt?y.features[v].geometry:Z?y.geometry:y,T=rt?y.features[v].properties:Z?y.properties:{},x=rt?y.features[v].bbox:Z?y.bbox:void 0,R=rt?y.features[v].id:Z?y.id:void 0,O=D?D.type==="GeometryCollection":!1,b=O?D.geometries.length:1,P=0;P<b;P++){if(I=O?D.geometries[P]:D,I===null){if(w(null,z,T,x,R)===!1)return!1;continue}switch(I.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(w(I,z,T,x,R)===!1)return!1;break}case"GeometryCollection":{for(S=0;S<I.geometries.length;S++)if(w(I.geometries[S],z,T,x,R)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}z++}}function u(y,w,v){var S=v;return l(y,function(P,I,b,D,O){I===0&&v===void 0?S=P:S=w(S,P,I,b,D,O)}),S}function c(y,w){l(y,function(v,S,P,I,b){var D=v===null?null:v.type;switch(D){case null:case"Point":case"LineString":case"Polygon":return w(r.feature(v,P,{bbox:I,id:b}),S,0)===!1?!1:void 0}var O;switch(D){case"MultiPoint":O="Point";break;case"MultiLineString":O="LineString";break;case"MultiPolygon":O="Polygon";break}for(var T=0;T<v.coordinates.length;T++){var x=v.coordinates[T],R={type:O,coordinates:x};if(w(r.feature(R,P),S,T)===!1)return!1}})}function h(y,w,v){var S=v;return c(y,function(P,I,b){I===0&&b===0&&v===void 0?S=P:S=w(S,P,I,b)}),S}function f(y,w){c(y,function(v,S,P){var I=0;if(v.geometry){var b=v.geometry.type;if(!(b==="Point"||b==="MultiPoint")){var D,O=0,T=0,x=0;if(t(v,function(R,z,rt,Z,ct){if(D===void 0||S>O||Z>T||ct>x){D=R,O=S,T=Z,x=ct,I=0;return}var G=r.lineString([D,R],v.properties);if(w(G,S,P,ct,I)===!1)return!1;I++,D=R})===!1)return!1}}})}function g(y,w,v){var S=v,P=!1;return f(y,function(I,b,D,O,T){P===!1&&v===void 0?S=I:S=w(S,I,b,D,O,T),P=!0}),S}function m(y,w){if(!y)throw new Error("geojson is required");c(y,function(v,S,P){if(v.geometry!==null){var I=v.geometry.type,b=v.geometry.coordinates;switch(I){case"LineString":if(w(v,S,P,0,0)===!1)return!1;break;case"Polygon":for(var D=0;D<b.length;D++)if(w(r.lineString(b[D],v.properties),S,P,D)===!1)return!1;break}}})}function _(y,w,v){var S=v;return m(y,function(P,I,b,D){I===0&&v===void 0?S=P:S=w(S,P,I,b,D)}),S}function E(y,w){if(w=w||{},!r.isObject(w))throw new Error("options is invalid");var v=w.featureIndex||0,S=w.multiFeatureIndex||0,P=w.geometryIndex||0,I=w.segmentIndex||0,b=w.properties,D;switch(y.type){case"FeatureCollection":v<0&&(v=y.features.length+v),b=b||y.features[v].properties,D=y.features[v].geometry;break;case"Feature":b=b||y.properties,D=y.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":D=y;break;default:throw new Error("geojson is invalid")}if(D===null)return null;var O=D.coordinates;switch(D.type){case"Point":case"MultiPoint":return null;case"LineString":return I<0&&(I=O.length+I-1),r.lineString([O[I],O[I+1]],b,w);case"Polygon":return P<0&&(P=O.length+P),I<0&&(I=O[P].length+I-1),r.lineString([O[P][I],O[P][I+1]],b,w);case"MultiLineString":return S<0&&(S=O.length+S),I<0&&(I=O[S].length+I-1),r.lineString([O[S][I],O[S][I+1]],b,w);case"MultiPolygon":return S<0&&(S=O.length+S),P<0&&(P=O[S].length+P),I<0&&(I=O[S][P].length-I-1),r.lineString([O[S][P][I],O[S][P][I+1]],b,w)}throw new Error("geojson is invalid")}function M(y,w){if(w=w||{},!r.isObject(w))throw new Error("options is invalid");var v=w.featureIndex||0,S=w.multiFeatureIndex||0,P=w.geometryIndex||0,I=w.coordIndex||0,b=w.properties,D;switch(y.type){case"FeatureCollection":v<0&&(v=y.features.length+v),b=b||y.features[v].properties,D=y.features[v].geometry;break;case"Feature":b=b||y.properties,D=y.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":D=y;break;default:throw new Error("geojson is invalid")}if(D===null)return null;var O=D.coordinates;switch(D.type){case"Point":return r.point(O,b,w);case"MultiPoint":return S<0&&(S=O.length+S),r.point(O[S],b,w);case"LineString":return I<0&&(I=O.length+I),r.point(O[I],b,w);case"Polygon":return P<0&&(P=O.length+P),I<0&&(I=O[P].length+I),r.point(O[P][I],b,w);case"MultiLineString":return S<0&&(S=O.length+S),I<0&&(I=O[S].length+I),r.point(O[S][I],b,w);case"MultiPolygon":return S<0&&(S=O.length+S),P<0&&(P=O[S].length+P),I<0&&(I=O[S][P].length-I),r.point(O[S][P][I],b,w)}throw new Error("geojson is invalid")}return ze.coordAll=o,ze.coordEach=t,ze.coordReduce=e,ze.featureEach=s,ze.featureReduce=a,ze.findPoint=M,ze.findSegment=E,ze.flattenEach=c,ze.flattenReduce=h,ze.geomEach=l,ze.geomReduce=u,ze.lineEach=m,ze.lineReduce=_,ze.propEach=i,ze.propReduce=n,ze.segmentEach=f,ze.segmentReduce=g,ze}var ic={},Ap;function my(){if(Ap)return ic;Ap=1,Object.defineProperty(ic,"__esModule",{value:!0});var r=Op();function t(e){var i=[1/0,1/0,-1/0,-1/0];return r.coordEach(e,function(n){i[0]>n[0]&&(i[0]=n[0]),i[1]>n[1]&&(i[1]=n[1]),i[2]<n[0]&&(i[2]=n[0]),i[3]<n[1]&&(i[3]=n[1])}),i}return t.default=t,ic.default=t,ic}var Lp;function vy(){if(Lp)return rc.exports;Lp=1;var r=_p(),t=Dp(),e=Op(),i=my().default,n=e.featureEach;e.coordEach,t.polygon;var s=t.featureCollection;function a(o){var l=new r(o);return l.insert=function(u){if(u.type!=="Feature")throw new Error("invalid feature");return u.bbox=u.bbox?u.bbox:i(u),r.prototype.insert.call(this,u)},l.load=function(u){var c=[];return Array.isArray(u)?u.forEach(function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:i(h),c.push(h)}):n(u,function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:i(h),c.push(h)}),r.prototype.load.call(this,c)},l.remove=function(u,c){if(u.type!=="Feature")throw new Error("invalid feature");return u.bbox=u.bbox?u.bbox:i(u),r.prototype.remove.call(this,u,c)},l.clear=function(){return r.prototype.clear.call(this)},l.search=function(u){var c=r.prototype.search.call(this,this.toBBox(u));return s(c)},l.collides=function(u){return r.prototype.collides.call(this,this.toBBox(u))},l.all=function(){var u=r.prototype.all.call(this);return s(u)},l.toJSON=function(){return r.prototype.toJSON.call(this)},l.fromJSON=function(u){return r.prototype.fromJSON.call(this,u)},l.toBBox=function(u){var c;if(u.bbox)c=u.bbox;else if(Array.isArray(u)&&u.length===4)c=u;else if(Array.isArray(u)&&u.length===6)c=[u[0],u[1],u[3],u[4]];else if(u.type==="Feature")c=i(u);else if(u.type==="FeatureCollection")c=i(u);else throw new Error("invalid geojson");return{minX:c[0],minY:c[1],maxX:c[2],maxY:c[3]}},l}return rc.exports=a,rc.exports.default=a,rc.exports}var yy=vy();const _y=vp(yy);function Rp(r,t){var e={},i=[];if(r.type==="LineString"&&(r=un(r)),t.type==="LineString"&&(t=un(t)),r.type==="Feature"&&t.type==="Feature"&&r.geometry!==null&&t.geometry!==null&&r.geometry.type==="LineString"&&t.geometry.type==="LineString"&&r.geometry.coordinates.length===2&&t.geometry.coordinates.length===2){var n=Fp(r,t);return n&&i.push(n),Yl(i)}var s=_y();return s.load(bp(t)),$h(bp(r),function(a){$h(s.search(a),function(o){var l=Fp(a,o);if(l){var u=La(l).join(",");e[u]||(e[u]=!0,i.push(l))}})}),Yl(i)}function Fp(r,t){var e=La(r),i=La(t);if(e.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(i.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var n=e[0][0],s=e[0][1],a=e[1][0],o=e[1][1],l=i[0][0],u=i[0][1],c=i[1][0],h=i[1][1],f=(h-u)*(a-n)-(c-l)*(o-s),g=(c-l)*(s-u)-(h-u)*(n-l),m=(a-n)*(s-u)-(o-s)*(n-l);if(f===0)return null;var _=g/f,E=m/f;if(_>=0&&_<=1&&E>=0&&E<=1){var M=n+_*(a-n),y=s+_*(o-s);return ae([M,y])}return null}function wy(r,t,e){e===void 0&&(e={});var i=ae([1/0,1/0],{dist:1/0}),n=0;return Cf(r,function(s){for(var a=La(s),o=0;o<a.length-1;o++){var l=ae(a[o]);l.properties.dist=ps(t,l,e);var u=ae(a[o+1]);u.properties.dist=ps(t,u,e);var c=ps(l,u,e),h=Math.max(l.properties.dist,u.properties.dist),f=Xu(l,u),g=Kl(t,h,f+90,e),m=Kl(t,h,f-90,e),_=Rp(hn([g.geometry.coordinates,m.geometry.coordinates]),hn([l.geometry.coordinates,u.geometry.coordinates])),E=null;_.features.length>0&&(E=_.features[0],E.properties.dist=ps(t,E,e),E.properties.location=n+ps(l,E,e)),l.properties.dist<i.properties.dist&&(i=l,i.properties.index=o,i.properties.location=n),u.properties.dist<i.properties.dist&&(i=u,i.properties.index=o+1,i.properties.location=n+c),E&&E.properties.dist<i.properties.dist&&(i=E,i.properties.index=o),n+=c}}),i}function Gp(r,t,e){e===void 0&&(e={});var i=Rr(r),n=Rr(t);n[0]+=n[0]-i[0]>180?-360:i[0]-n[0]>180?360:0;var s=Ey(i,n),a=Pf(s,"meters",e.units);return a}function Ey(r,t,e){e=e===void 0?hr:Number(e);var i=e,n=r[1]*Math.PI/180,s=t[1]*Math.PI/180,a=s-n,o=Math.abs(t[0]-r[0])*Math.PI/180;o>Math.PI&&(o-=2*Math.PI);var l=Math.log(Math.tan(s/2+Math.PI/4)/Math.tan(n/2+Math.PI/4)),u=Math.abs(l)>1e-11?a/l:Math.cos(n),c=Math.sqrt(a*a+u*u*o*o),h=c*i;return h}function Sy(r,t,e){if(e===void 0&&(e={}),e.method||(e.method="geodesic"),e.units||(e.units="kilometers"),!r)throw new Error("pt is required");if(Array.isArray(r)?r=ae(r):r.type==="Point"?r=un(r):mp(r,"Point","point"),!t)throw new Error("line is required");Array.isArray(t)?t=hn(t):t.type==="LineString"?t=un(t):mp(t,"LineString","line");var i=1/0,n=r.geometry.coordinates;return Yv(t,function(s){var a=s.geometry.coordinates[0],o=s.geometry.coordinates[1],l=Py(n,a,o,e);l<i&&(i=l)}),Pf(i,"degrees",e.units)}function Py(r,t,e,i){var n=[e[0]-t[0],e[1]-t[1]],s=[r[0]-t[0],r[1]-t[1]],a=kp(s,n);if(a<=0)return bf(r,t,{method:i.method,units:"degrees"});var o=kp(n,n);if(o<=a)return bf(r,e,{method:i.method,units:"degrees"});var l=a/o,u=[t[0]+l*n[0],t[1]+l*n[1]];return bf(r,u,{method:i.method,units:"degrees"})}function kp(r,t){return r[0]*t[0]+r[1]*t[1]}function bf(r,t,e){return e.method==="planar"?Gp(r,t,e):ps(r,t,e)}var zp=6378137;function Cy(r){return Xv(r,function(t,e){return t+Iy(e)},0)}function Iy(r){var t=0,e;switch(r.type){case"Polygon":return Vp(r.coordinates);case"MultiPolygon":for(e=0;e<r.coordinates.length;e++)t+=Vp(r.coordinates[e]);return t;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function Vp(r){var t=0;if(r&&r.length>0){t+=Math.abs(Up(r[0]));for(var e=1;e<r.length;e++)t-=Math.abs(Up(r[e]))}return t}function Up(r){var t,e,i,n,s,a,o,l=0,u=r.length;if(u>2){for(o=0;o<u;o++)o===u-2?(n=u-2,s=u-1,a=0):o===u-1?(n=u-1,s=0,a=1):(n=o,s=o+1,a=o+2),t=r[n],e=r[s],i=r[a],l+=(Tf(i[0])-Tf(t[0]))*Math.sin(Tf(e[1]));l=l*zp*zp/2}return l}function Tf(r){return r*Math.PI/180}function My(r,t,e){e===void 0&&(e={});for(var i=yi(r),n=i.coordinates,s=0,a=0;a<n.length&&!(t>=s&&a===n.length-1);a++)if(s>=t){var o=t-s;if(o){var l=Xu(n[a],n[a-1])-180,u=Kl(n[a],o,l,e);return u}else return ae(n[a])}else s+=ps(n[a],n[a+1],e);return ae(n[n.length-1])}function gs(r,t,e){e===void 0&&(e={});for(var i=Rr(r),n=La(t),s=0;s<n.length-1;s++){var a=!1;if(e.ignoreEndVertices&&(s===0&&(a="start"),s===n.length-2&&(a="end"),s===0&&s+1===n.length-1&&(a="both")),Ny(n[s],n[s+1],i,a,typeof e.epsilon>"u"?null:e.epsilon))return!0}return!1}function Ny(r,t,e,i,n){var s=e[0],a=e[1],o=r[0],l=r[1],u=t[0],c=t[1],h=e[0]-o,f=e[1]-l,g=u-o,m=c-l,_=h*m-f*g;if(n!==null){if(Math.abs(_)>n)return!1}else if(_!==0)return!1;if(i){if(i==="start")return Math.abs(g)>=Math.abs(m)?g>0?o<s&&s<=u:u<=s&&s<o:m>0?l<a&&a<=c:c<=a&&a<l;if(i==="end")return Math.abs(g)>=Math.abs(m)?g>0?o<=s&&s<u:u<s&&s<=o:m>0?l<=a&&a<c:c<a&&a<=l;if(i==="both")return Math.abs(g)>=Math.abs(m)?g>0?o<s&&s<u:u<s&&s<o:m>0?l<a&&a<c:c<a&&a<l}else return Math.abs(g)>=Math.abs(m)?g>0?o<=s&&s<=u:u<=s&&s<=o:m>0?l<=a&&a<=c:c<=a&&a<=l;return!1}function by(r,t){var e=yi(r),i=yi(t),n=e.type,s=i.type;switch(n){case"Point":switch(s){case"MultiPoint":return Ty(e,i);case"LineString":return gs(e,i,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return Fi(e,i,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return Dy(e,i);case"LineString":return xy(e,i);case"Polygon":case"MultiPolygon":return Oy(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return Ay(e,i);case"Polygon":case"MultiPolygon":return Ly(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return Ry(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+n+" geometry not supported")}}function Ty(r,t){var e,i=!1;for(e=0;e<t.coordinates.length;e++)if(Wp(t.coordinates[e],r.coordinates)){i=!0;break}return i}function Dy(r,t){for(var e=0;e<r.coordinates.length;e++){for(var i=!1,n=0;n<t.coordinates.length;n++)Wp(r.coordinates[e],t.coordinates[n])&&(i=!0);if(!i)return!1}return!0}function xy(r,t){for(var e=!1,i=0;i<r.coordinates.length;i++){if(!gs(r.coordinates[i],t))return!1;e||(e=gs(r.coordinates[i],t,{ignoreEndVertices:!0}))}return e}function Oy(r,t){for(var e=!0,i=!1,n=0;n<r.coordinates.length;n++){if(i=Fi(r.coordinates[1],t),!i){e=!1;break}i=Fi(r.coordinates[1],t,{ignoreBoundary:!0})}return e&&i}function Ay(r,t){for(var e=0;e<r.coordinates.length;e++)if(!gs(r.coordinates[e],t))return!1;return!0}function Ly(r,t){var e=cn(t),i=cn(r);if(!qp(e,i))return!1;for(var n=!1,s=0;s<r.coordinates.length-1;s++){if(!Fi(r.coordinates[s],t))return!1;if(n||(n=Fi(r.coordinates[s],t,{ignoreBoundary:!0})),!n){var a=Fy(r.coordinates[s],r.coordinates[s+1]);n=Fi(a,t,{ignoreBoundary:!0})}}return n}function Ry(r,t){var e=cn(r),i=cn(t);if(!qp(i,e))return!1;for(var n=0;n<r.coordinates[0].length;n++)if(!Fi(r.coordinates[0][n],t))return!1;return!0}function qp(r,t){return!(r[0]>t[0]||r[2]<t[2]||r[1]>t[1]||r[3]<t[3])}function Wp(r,t){return r[0]===t[0]&&r[1]===t[1]}function Fy(r,t){return[(r[0]+t[0])/2,(r[1]+t[1])/2]}function Gy(r,t,e){e===void 0&&(e={});var i;e.final?i=Hp(Rr(t),Rr(r)):i=Hp(Rr(r),Rr(t));var n=i>180?-(360-i):i;return n}function Hp(r,t){var e=Cr(r[1]),i=Cr(t[1]),n=Cr(t[0]-r[0]);n>Math.PI&&(n-=2*Math.PI),n<-Math.PI&&(n+=2*Math.PI);var s=Math.log(Math.tan(i/2+Math.PI/4)/Math.tan(e/2+Math.PI/4)),a=Math.atan2(n,s);return(Bh(a)+360)%360}function ky(r,t,e,i){i===void 0&&(i={});var n=t<0,s=Pf(Math.abs(t),i.units,"meters");n&&(s=-Math.abs(s));var a=Rr(r),o=zy(a,s,e);return o[0]+=o[0]-a[0]>180?-360:a[0]-o[0]>180?360:0,ae(o,i.properties)}function zy(r,t,e,i){i=i===void 0?hr:Number(i);var n=t/i,s=r[0]*Math.PI/180,a=Cr(r[1]),o=Cr(e),l=n*Math.cos(o),u=a+l;Math.abs(u)>Math.PI/2&&(u=u>0?Math.PI-u:-Math.PI-u);var c=Math.log(Math.tan(u/2+Math.PI/4)/Math.tan(a/2+Math.PI/4)),h=Math.abs(c)>1e-11?l/c:Math.cos(a),f=n*Math.sin(o)/h,g=s+f;return[(g*180/Math.PI+540)%360-180,u*180/Math.PI]}function Vy(r,t){var e=yi(r),i=yi(t),n=e.type,s=i.type,a=e.coordinates,o=i.coordinates;switch(n){case"Point":switch(s){case"Point":return Df(a,o);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return Uy(e,i);case"MultiPoint":return qy(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return gs(i,e,{ignoreEndVertices:!0});case"LineString":return Xy(e,i);case"MultiPoint":return Wy(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return Fi(i,e,{ignoreBoundary:!0});case"LineString":return Yy(e,i);case"Polygon":return Jy(e,i);case"MultiPoint":return Hy(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+n+" geometry not supported")}}function Uy(r,t){var e,i=!1;for(e=0;e<r.coordinates.length;e++)if(Df(r.coordinates[e],t.coordinates)){i=!0;break}return i}function qy(r,t){for(var e=0,i=t.coordinates;e<i.length;e++){for(var n=i[e],s=!1,a=0,o=r.coordinates;a<o.length;a++){var l=o[a];if(Df(n,l)){s=!0;break}}if(!s)return!1}return!0}function Wy(r,t){for(var e=!1,i=0,n=t.coordinates;i<n.length;i++){var s=n[i];if(gs(s,r,{ignoreEndVertices:!0})&&(e=!0),!gs(s,r))return!1}return!!e}function Hy(r,t){for(var e=0,i=t.coordinates;e<i.length;e++){var n=i[e];if(!Fi(n,r,{ignoreBoundary:!0}))return!1}return!0}function Xy(r,t){for(var e=!1,i=0,n=t.coordinates;i<n.length;i++){var s=n[i];if(gs({type:"Point",coordinates:s},r,{ignoreEndVertices:!0})&&(e=!0),!gs({type:"Point",coordinates:s},r,{ignoreEndVertices:!1}))return!1}return e}function Yy(r,t){var e=!1,i=0,n=cn(r),s=cn(t);if(!Xp(n,s))return!1;for(i;i<t.coordinates.length-1;i++){var a=Ky(t.coordinates[i],t.coordinates[i+1]);if(Fi({type:"Point",coordinates:a},r,{ignoreBoundary:!0})){e=!0;break}}return e}function Jy(r,t){if(r.type==="Feature"&&r.geometry===null||t.type==="Feature"&&t.geometry===null)return!1;var e=cn(r),i=cn(t);if(!Xp(e,i))return!1;for(var n=yi(t).coordinates,s=0,a=n;s<a.length;s++)for(var o=a[s],l=0,u=o;l<u.length;l++){var c=u[l];if(!Fi(c,r))return!1}return!0}function Xp(r,t){return!(r[0]>t[0]||r[2]<t[2]||r[1]>t[1]||r[3]<t[3])}function Df(r,t){return r[0]===t[0]&&r[1]===t[1]}function Ky(r,t){return[(r[0]+t[0])/2,(r[1]+t[1])/2]}/**
3
+ `).join(" ")}`)):this._sceneObjRefs.set(s,[n]);const u=this.getLastSceneObject(s);this._refs[s]=u,this._refsChanged.emit(u,o)}};this.d(e.sceneObjCreatedEvent.don(n=>{const s=(a,o)=>i(n,a,o);n.ref&&s(n.ref,void 0),n.refChanged.don(s)})),this.d(e.sceneObjToDestroyEvent.don(n=>{n.ref&&i(n,void 0,n.ref)}))}get sceneObjRefs(){return this._sceneObjRefs}get refs(){return this._refs}get refsChanged(){return this._refsChanged}getLastSceneObject(e){const i=this.getSceneObjects(e);if(i)return i[i.length-1]}getSceneObjects(e){const i=this._sceneObjRefs.get(e);if(!(!i||i.length===0))return i}}function fp(r,t){const[e,i,n]=d.getReactFuncs(r),s=d.react(void 0),a=()=>{const o=e()??t;s.value=o&&ft.context.getStrFromEnv(o)};return a(),n&&s.d(n.don(a)),s.d(ft.context.environmentVariablesChanged.don(a)),s}function qv(r){do{const t=r.replace(/\${(.*?)\}/,(e,i)=>{const n=ft.context.getEnv(i);return n===void 0?(console.warn(`环境变量(${i})不存在,无法进行转换`),"{env-error}"):n});if(t===r)break;r=t}while(!0);return r}class Wv extends d.Destroyable{constructor(){super();p(this,"_esObjConstructors",new Map);p(this,"_sceneObjs",new Map);p(this,"_sceneObjCreatedEvent",new d.Event);p(this,"_sceneObjToDestroyEvent",new d.Event);p(this,"_refsManager",this.dv(new Uv(this)));p(this,"_environmentVariables",window.ESSDK_ENV||{});p(this,"_environmentVariablesChanged",this.dv(new d.Event))}get typeNames(){return this._esObjConstructors.keys()}get sceneObjs(){return this._sceneObjs.values()}get sceneObjCreatedEvent(){return this._sceneObjCreatedEvent}get sceneObjToDestroyEvent(){return this._sceneObjToDestroyEvent}get refsManager(){return this._refsManager}get $refs(){return this._refsManager.refs}register(e,i,n){return this._esObjConstructors.has(e)&&console.warn(`register warn: ${e} has registered ! will be override!`),this._esObjConstructors.set(e,i),n&&d.setExtProp(i,"__sceneObjExtraInfo",n),e}_addSceneObject(e){this._sceneObjs.set(e.id,e),this._sceneObjCreatedEvent.emit(e),e.d(()=>this._deleteSceneObject(e))}addSceneObject(e){this._addSceneObject(e)}_deleteSceneObject(e){this._sceneObjToDestroyEvent.emit(e),this._sceneObjs.delete(e.id)}deleteSceneObject(e){this._deleteSceneObject(e)}createSceneObjectFromClass(e,i){if(!i||this._sceneObjs.has(i)){const s=d.createGuid();i&&console.warn(`已存在相同id的对象!id自动变更!${i} -> ${s} 请注意:id变更可能导致引用失效!`),i=s}if(!i)throw new Error("id不能为空!");const n=new e(i);return n.id!==i&&(console.warn(`sceneObj.id(${n.id}) !== id(${i}) sceneObjectType: ${n.typeName}`),console.warn("出现这种问题有可能是自定义的场景对象,没有在构造函数中传递id参数!示例如下:"),console.warn("class XXX extends XXX { constructor(id) { super(id); } }")),this._addSceneObject(n),n}createSceneObject(e,i){if(typeof e=="string"){const n=this._getSceneObjConstructor(e);if(!n){console.warn(`Cannot find SceneObjectType: ${e}`);return}return this.createSceneObjectFromClass(n,i)}else return this.createSceneObjectFromClass(e,i)}createSceneObjectFromJson(e){const i=this.createSceneObject(e.type,e.id);return i&&(i.json=e),i}destroySceneObject(e){return this._deleteSceneObject(e),e.destroy(),e.isDestroyed()}getSceneObjectById(e){return this._sceneObjs.get(e)}getSceneObject(e){if(!e&&e!="")return Array.from(this._sceneObjs.values());if(e.startsWith("ES")){const i=[];for(const n of this._sceneObjs.values())n.typeName===e&&i.push(n);return i}else return this._sceneObjs.get(e)}_getSceneObjConstructor(e){const i=this._esObjConstructors.get(e);if(i)return i}getProps(e){const i=this._getSceneObjConstructor(e);if(!i){console.warn(`cannot get constructor from type: ${e}`);return}return d.getExtProp(i,"__sceneObjExtraInfo")}setProps(e,i){const n=this._getSceneObjConstructor(e);if(!n){console.warn(`cannot get constructor from type: ${e}`);return}let s=d.getExtProp(n,"__sceneObjExtraInfo");s||(s={},d.setExtProp(n,"__sceneObjExtraInfo",s)),Object.assign(s,i)}getProp(e,i){const n=this.getProps(e);return n&&n[i]}setProp(e,i,n){this.setProps(e,{[i]:n})}get environmentVariables(){return this._environmentVariables}set environmentVariables(e){for(let[i,n]of Object.entries(e))this.setEnv(i,n)}get environmentVariablesChanged(){return this._environmentVariablesChanged}setEnv(e,i){if(this._environmentVariables[e]!==i){const n=this._environmentVariables[e];this._environmentVariables[e]=i,this._environmentVariablesChanged.emit(e,i,n)}window.ESSDK_ENV={...this._environmentVariables}}getEnv(e){return this._environmentVariables[e]}getStrFromEnv(e){return qv(e)}createEnvStrReact(e,i){return fp(e,i)}createEvnStrReact(e,i){return fp(e,i)}}const Tt=class Tt extends d.Destroyable{constructor(e){super();p(this,"_components",this.dv(new d.ObservableSet));p(this,"_viewerAttached",this.dv(new d.Event));p(this,"_viewerDetached",this.dv(new d.Event));p(this,"_attachedViewers",(()=>{const e=new Set;return this.d(this._viewerAttached.don(i=>{e.add(i)})),this.d(this._viewerDetached.don(i=>{e.delete(i)})),e})());p(this,"_createdEvent",this.dv(new d.Event));p(this,"_flushEvent",this.dv(new d.Event));p(this,"_id");p(this,"viewer");p(this,"viewerChanged",this.ad(new d.Event));p(this,"combinationClass",!1);p(this,"mainClass");p(this,"_updateFuncReact",this.dv(d.react(void 0)));p(this,"_toDestroyFuncReact",this.dv(d.react(void 0)));p(this,"_parentID",this.disposeVar(d.react(void 0)));e!==void 0&&(typeof e!="string"?console.warn(`对象id必须是字符串类型,当前id的类型是${typeof e},值为${e}`):e.trim()===""?console.warn("场景对象创建时的id不能是空字符串!"):e.trim()!==e&&console.warn(`id前后有空字符串!id: ${e}`)),this._id=e??d.createGuid(),this._initName();{const i=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(n){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${n}`)}};i(),this.d(this.execOnceFuncStrChanged.don(i))}{const i=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(s){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};i(),this.d(this.updateFuncStrChanged.don(i));let n;this.d(()=>n&&n.destroy()),this.d(this.updateFuncChanged.don(()=>{n&&n.cancel(),this.updateFunc&&(n=n||d.createAnimateFrame(),n.restart(void 0,s=>{this.updateFunc&&this.updateFunc(this,s)}))}))}{const i=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(n){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${n}`),this.toDestroyFunc=void 0}};i(),this.d(this.toDestroyFuncStrChanged.don(i)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}}static get envs(){return Tt.context.environmentVariables}static get $refs(){return Tt.context.refsManager.refs}get components(){return this._components}get viewerAttached(){return this._viewerAttached}get viewerDetached(){return this._viewerDetached}get attachedViewers(){return this._attachedViewers}removefromViewer(e){this.attachedViewers.has(e)&&e.delete(this)}addToViewer(e){this.attachedViewers.has(e)||e.add(this)}registerAttachedObject(e){const i=new Map;this.d(()=>{i.size>0&&console.warn("viewerPropSceneObjects.size > 0")}),this.d(this._viewerAttached.don(n=>{const s=e(n);s&&i.set(n,s)})),this.d(this._viewerDetached.don(n=>{if(!i.has(n))return;const s=i.get(n);s&&(s.destroy(),i.delete(n))}))}createAttachedObject(e){const i=new Map,n=()=>{for(let[l,u]of i.entries())u.destroy();i.clear()},s=l=>{const u=e(l);u&&i.set(l,u)};for(let l of this.attachedViewers)s(l);const a=this._viewerAttached.don(s),o=this._viewerDetached.don(l=>{if(!i.has(l))return;const u=i.get(l);u&&(u.destroy(),i.delete(l))});return()=>{o(),a(),n()}}registerAttachedObjectForContainer(e){this.registerAttachedObject(i=>new Hv(i,e))}get createdEvent(){return this._createdEvent}get flushEvent(){return this._flushEvent}flush(){this.flushEvent.emit()}get id(){return this._id}get typeName(){return this.constructor.name}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return Tt.createDefaultProps()}getMainClass(){return this.mainClass??this}_innerGetJson(e=!0){const i={id:this.id,type:this.typeName};for(let n of Object.keys(this.defaultProps))if(e){let s,a=this.defaultProps[n];a instanceof d.ReactiveVariable?s=a.equals(this[n]):s=a===this[n],s||(i[n]=this[n])}else i[n]=this[n];return i}_innerGetJson1(e=!0){const i={id:this.id,type:this.typeName},n=this.constructor.properties;for(let s of Object.keys(n))if(e){let a,o=n[s];o instanceof d.ReactiveVariable?a=o.equals(this[s]):a=o===this[s],a||(i[s]=this[s])}else i[s]=this[s];return i}_innerSetJson(e,i,n){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=i||[];s.push("id","type");const a=Object.keys(this.defaultProps).filter(o=>!s.includes(o));for(let o of a)if(o in e)this[o]=e[o]===null?void 0:e[o];else if(!(n??!1)){let l=this.defaultProps[o];l instanceof d.ReactiveVariable&&(l=l.value),this[o]=l}}get json(){return this._innerGetJson()}set json(e){this._innerSetJson(e)}get _jsonStr(){return JSON.stringify(this.json,null,4)}set _jsonStr(e){this._innerSetJson(JSON.parse(e))}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get parentID(){return this._parentID.value}set parentID(e){this._parentID.value=e}get parentIDChanged(){return this._parentID.changed}getProperties(e){return[new H("ESSceneObject","ESSceneObject",[new nt("对象类型","类型(type)",!1,!0,[this,"typeName"]),new nt("对象id","唯一标识符(id)",!1,!0,[this,"id"]),new nt("对象名称","名称(name)",!1,!1,[this,"name"]),new nt("ref","标识(ref),可通过 ESSceneObject.$refs.xxx快速获取到对象",!0,!1,[this,"ref"]),new Y("extras","扩展属性,必须整体赋值(extras)",!0,!1,[this,"extras"]),new lp("JSON","对象JSON数据动态更改导入导出。",!1,!1,()=>this._jsonStr,i=>i&&(this._jsonStr=i))])]}getESProperties(){return{defaultMenu:"basic",basic:[],general:[],dataSource:[],location:[],coordinate:[],style:[]}}static register1(e,i,n){let s={},a=i;for(;a&&a!==Object;)a.hasOwnProperty("properties")&&(s={...s,...a.properties}),a=Object.getPrototypeOf(a);return i.properties=Object.freeze(s),d.extendClassProps(i.prototype,()=>s),this.register(e,i,n),e}};p(Tt,"context",new Wv),p(Tt,"register",Tt.context.register.bind(Tt.context)),p(Tt,"create",Tt.context.createSceneObject.bind(Tt.context)),p(Tt,"createFromClass",Tt.context.createSceneObjectFromClass.bind(Tt.context)),p(Tt,"createFromJson",Tt.context.createSceneObjectFromJson.bind(Tt.context)),p(Tt,"destroySceneObject",Tt.context.destroySceneObject.bind(Tt.context)),p(Tt,"getSceneObjById",Tt.context.getSceneObjectById.bind(Tt.context)),p(Tt,"getSceneObj",Tt.context.getSceneObject.bind(Tt.context)),p(Tt,"getEnv",Tt.context.getEnv.bind(Tt.context)),p(Tt,"setEnv",Tt.context.setEnv.bind(Tt.context)),p(Tt,"getStrFromEnv",Tt.context.getStrFromEnv.bind(Tt.context)),p(Tt,"getSceneObjectById",Tt.context.getSceneObjectById.bind(Tt.context)),p(Tt,"getSceneObject",Tt.context.getSceneObject.bind(Tt.context)),p(Tt,"defaults",{}),p(Tt,"createDefaultProps",()=>({name:"未命名场景对象",ref:void 0,extras:d.reactJson(void 0),devTags:d.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})),p(Tt,"properties",{reff:void 0});let ft=Tt;d.extendClassProps(ft.prototype,ft.createDefaultProps);class Hv extends d.Destroyable{constructor(t,e){super(),this.dv(new d.ObjResettingWithEvent(t.subContainerChanged,()=>{if(t.subContainer)return e(t,t.subContainer)}))}}function yf(r){return d.reactDeepArrayWithUndefined(r,(t,e)=>t[0]===e[0]&&t[1]===e[1],t=>[...t])}function dp(r,t){const e=new Array;for(let i of r)e.push(t(i));return e}function _f(r,t){return r===void 0&&t===void 0?!0:!r||!t?!1:r[0]===t[0]&&r[1]===t[1]&&r[2]===t[2]}var hr=63710088e-1,pp={centimeters:hr*100,centimetres:hr*100,degrees:hr/111325,feet:hr*3.28084,inches:hr*39.37,kilometers:hr/1e3,kilometres:hr/1e3,meters:hr,metres:hr,miles:hr/1609.344,millimeters:hr*1e3,millimetres:hr*1e3,nauticalmiles:hr/1852,radians:1,yards:hr*1.0936};function un(r,t,e){e===void 0&&(e={});var i={type:"Feature"};return(e.id===0||e.id)&&(i.id=e.id),e.bbox&&(i.bbox=e.bbox),i.properties=t||{},i.geometry=r,i}function ae(r,t,e){if(e===void 0&&(e={}),!r)throw new Error("coordinates is required");if(!Array.isArray(r))throw new Error("coordinates must be an Array");if(r.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!gp(r[0])||!gp(r[1]))throw new Error("coordinates must contain numbers");var i={type:"Point",coordinates:r};return un(i,t,e)}function Pr(r,t,e){e===void 0&&(e={});for(var i=0,n=r;i<n.length;i++){var s=n[i];if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var a=0;a<s[s.length-1].length;a++)if(s[s.length-1][a]!==s[0][a])throw new Error("First and last Position are not equivalent.")}var o={type:"Polygon",coordinates:r};return un(o,t,e)}function hn(r,t,e){if(e===void 0&&(e={}),r.length<2)throw new Error("coordinates must be an array of two or more positions");var i={type:"LineString",coordinates:r};return un(i,t,e)}function Yl(r,t){t===void 0&&(t={});var e={type:"FeatureCollection"};return t.id&&(e.id=t.id),t.bbox&&(e.bbox=t.bbox),e.features=r,e}function wf(r,t,e){e===void 0&&(e={});var i={type:"MultiPolygon",coordinates:r};return un(i,t,e)}function Ef(r,t){t===void 0&&(t="kilometers");var e=pp[t];if(!e)throw new Error(t+" units is invalid");return r*e}function Sf(r,t){t===void 0&&(t="kilometers");var e=pp[t];if(!e)throw new Error(t+" units is invalid");return r/e}function Bh(r){var t=r%(2*Math.PI);return t*180/Math.PI}function Cr(r){var t=r%360;return t*Math.PI/180}function Pf(r,t,e){if(t===void 0&&(t="kilometers"),e===void 0&&(e="kilometers"),!(r>=0))throw new Error("length must be a positive number");return Ef(Sf(r,t),e)}function gp(r){return!isNaN(r)&&r!==null&&!Array.isArray(r)}function Jl(r,t,e){if(r!==null)for(var i,n,s,a,o,l,u,c=0,h=0,f,g=r.type,m=g==="FeatureCollection",_=g==="Feature",E=m?r.features.length:1,M=0;M<E;M++){u=m?r.features[M].geometry:_?r.geometry:r,f=u?u.type==="GeometryCollection":!1,o=f?u.geometries.length:1;for(var y=0;y<o;y++){var w=0,v=0;if(a=f?u.geometries[y]:u,a!==null){l=a.coordinates;var S=a.type;switch(c=e&&(S==="Polygon"||S==="MultiPolygon")?1:0,S){case null:break;case"Point":if(t(l,h,M,w,v)===!1)return!1;h++,w++;break;case"LineString":case"MultiPoint":for(i=0;i<l.length;i++){if(t(l[i],h,M,w,v)===!1)return!1;h++,S==="MultiPoint"&&w++}S==="LineString"&&w++;break;case"Polygon":case"MultiLineString":for(i=0;i<l.length;i++){for(n=0;n<l[i].length-c;n++){if(t(l[i][n],h,M,w,v)===!1)return!1;h++}S==="MultiLineString"&&w++,S==="Polygon"&&v++}S==="Polygon"&&w++;break;case"MultiPolygon":for(i=0;i<l.length;i++){for(v=0,n=0;n<l[i].length;n++){for(s=0;s<l[i][n].length-c;s++){if(t(l[i][n][s],h,M,w,v)===!1)return!1;h++}v++}w++}break;case"GeometryCollection":for(i=0;i<a.geometries.length;i++)if(Jl(a.geometries[i],t,e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function $h(r,t){if(r.type==="Feature")t(r,0);else if(r.type==="FeatureCollection")for(var e=0;e<r.features.length&&t(r.features[e],e)!==!1;e++);}function jh(r,t){var e,i,n,s,a,o,l,u,c,h,f=0,g=r.type==="FeatureCollection",m=r.type==="Feature",_=g?r.features.length:1;for(e=0;e<_;e++){for(o=g?r.features[e].geometry:m?r.geometry:r,u=g?r.features[e].properties:m?r.properties:{},c=g?r.features[e].bbox:m?r.bbox:void 0,h=g?r.features[e].id:m?r.id:void 0,l=o?o.type==="GeometryCollection":!1,a=l?o.geometries.length:1,n=0;n<a;n++){if(s=l?o.geometries[n]:o,s===null){if(t(null,f,u,c,h)===!1)return!1;continue}switch(s.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(t(s,f,u,c,h)===!1)return!1;break}case"GeometryCollection":{for(i=0;i<s.geometries.length;i++)if(t(s.geometries[i],f,u,c,h)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}f++}}function Xv(r,t,e){var i=e;return jh(r,function(n,s,a,o,l){i=t(i,n,s,a,o,l)}),i}function Cf(r,t){jh(r,function(e,i,n,s,a){var o=e===null?null:e.type;switch(o){case null:case"Point":case"LineString":case"Polygon":return t(un(e,n,{bbox:s,id:a}),i,0)===!1?!1:void 0}var l;switch(o){case"MultiPoint":l="Point";break;case"MultiLineString":l="LineString";break;case"MultiPolygon":l="Polygon";break}for(var u=0;u<e.coordinates.length;u++){var c=e.coordinates[u],h={type:l,coordinates:c};if(t(un(h,n),i,u)===!1)return!1}})}function Yv(r,t){Cf(r,function(e,i,n){var s=0;if(e.geometry){var a=e.geometry.type;if(!(a==="Point"||a==="MultiPoint")){var o,l=0,u=0,c=0;if(Jl(e,function(h,f,g,m,_){if(o===void 0||i>l||m>u||_>c){o=h,l=i,u=m,c=_,s=0;return}var E=hn([o,h],e.properties);if(t(E,i,n,_,s)===!1)return!1;s++,o=h})===!1)return!1}}})}function cn(r){var t=[1/0,1/0,-1/0,-1/0];return Jl(r,function(e){t[0]>e[0]&&(t[0]=e[0]),t[1]>e[1]&&(t[1]=e[1]),t[2]<e[0]&&(t[2]=e[0]),t[3]<e[1]&&(t[3]=e[1])}),t}cn.default=cn;function Rr(r){if(!r)throw new Error("coord is required");if(!Array.isArray(r)){if(r.type==="Feature"&&r.geometry!==null&&r.geometry.type==="Point")return r.geometry.coordinates;if(r.type==="Point")return r.coordinates}if(Array.isArray(r)&&r.length>=2&&!Array.isArray(r[0])&&!Array.isArray(r[1]))return r;throw new Error("coord must be GeoJSON Point or an Array of numbers")}function La(r){if(Array.isArray(r))return r;if(r.type==="Feature"){if(r.geometry!==null)return r.geometry.coordinates}else if(r.coordinates)return r.coordinates;throw new Error("coords must be GeoJSON Feature, Geometry Object or an Array")}function mp(r,t,e){if(!r)throw new Error("No feature passed");if(!e)throw new Error(".featureOf() requires a name");if(!r||r.type!=="Feature"||!r.geometry)throw new Error("Invalid input to "+e+", Feature with geometry required");if(!r.geometry||r.geometry.type!==t)throw new Error("Invalid input to "+e+": must be a "+t+", given "+r.geometry.type)}function yi(r){return r.type==="Feature"?r.geometry:r}function Jv(r,t){return r.type==="FeatureCollection"?"FeatureCollection":r.type==="GeometryCollection"?"GeometryCollection":r.type==="Feature"&&r.geometry!==null?r.geometry.type:r.type}function vp(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function Kv(r){if(Object.prototype.hasOwnProperty.call(r,"__esModule"))return r;var t=r.default;if(typeof t=="function"){var e=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(r).forEach(function(i){var n=Object.getOwnPropertyDescriptor(r,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return r[i]}})}),e}var tc={exports:{}},ec={exports:{}},Qv=ec.exports,yp;function _p(){return yp||(yp=1,function(r,t){(function(e,i){r.exports=i()})(Qv,function(){function e(y,w,v,S,P){(function I(b,D,O,T,x){for(;T>O;){if(T-O>600){var R=T-O+1,z=D-O+1,rt=Math.log(R),Z=.5*Math.exp(2*rt/3),ct=.5*Math.sqrt(rt*Z*(R-Z)/R)*(z-R/2<0?-1:1),G=Math.max(O,Math.floor(D-z*Z/R+ct)),X=Math.min(T,Math.floor(D+(R-z)*Z/R+ct));I(b,D,G,X,x)}var k=b[D],V=O,A=T;for(i(b,O,D),x(b[T],k)>0&&i(b,O,T);V<A;){for(i(b,V,A),V++,A--;x(b[V],k)<0;)V++;for(;x(b[A],k)>0;)A--}x(b[O],k)===0?i(b,O,A):i(b,++A,T),A<=D&&(O=A+1),D<=A&&(T=A-1)}})(y,w,v||0,S||y.length-1,P||n)}function i(y,w,v){var S=y[w];y[w]=y[v],y[v]=S}function n(y,w){return y<w?-1:y>w?1:0}var s=function(y){y===void 0&&(y=9),this._maxEntries=Math.max(4,y),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function a(y,w,v){if(!v)return w.indexOf(y);for(var S=0;S<w.length;S++)if(v(y,w[S]))return S;return-1}function o(y,w){l(y,0,y.children.length,w,y)}function l(y,w,v,S,P){P||(P=E(null)),P.minX=1/0,P.minY=1/0,P.maxX=-1/0,P.maxY=-1/0;for(var I=w;I<v;I++){var b=y.children[I];u(P,y.leaf?S(b):b)}return P}function u(y,w){return y.minX=Math.min(y.minX,w.minX),y.minY=Math.min(y.minY,w.minY),y.maxX=Math.max(y.maxX,w.maxX),y.maxY=Math.max(y.maxY,w.maxY),y}function c(y,w){return y.minX-w.minX}function h(y,w){return y.minY-w.minY}function f(y){return(y.maxX-y.minX)*(y.maxY-y.minY)}function g(y){return y.maxX-y.minX+(y.maxY-y.minY)}function m(y,w){return y.minX<=w.minX&&y.minY<=w.minY&&w.maxX<=y.maxX&&w.maxY<=y.maxY}function _(y,w){return w.minX<=y.maxX&&w.minY<=y.maxY&&w.maxX>=y.minX&&w.maxY>=y.minY}function E(y){return{children:y,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function M(y,w,v,S,P){for(var I=[w,v];I.length;)if(!((v=I.pop())-(w=I.pop())<=S)){var b=w+Math.ceil((v-w)/S/2)*S;e(y,b,w,v,P),I.push(w,b,b,v)}}return s.prototype.all=function(){return this._all(this.data,[])},s.prototype.search=function(y){var w=this.data,v=[];if(!_(y,w))return v;for(var S=this.toBBox,P=[];w;){for(var I=0;I<w.children.length;I++){var b=w.children[I],D=w.leaf?S(b):b;_(y,D)&&(w.leaf?v.push(b):m(y,D)?this._all(b,v):P.push(b))}w=P.pop()}return v},s.prototype.collides=function(y){var w=this.data;if(!_(y,w))return!1;for(var v=[];w;){for(var S=0;S<w.children.length;S++){var P=w.children[S],I=w.leaf?this.toBBox(P):P;if(_(y,I)){if(w.leaf||m(y,I))return!0;v.push(P)}}w=v.pop()}return!1},s.prototype.load=function(y){if(!y||!y.length)return this;if(y.length<this._minEntries){for(var w=0;w<y.length;w++)this.insert(y[w]);return this}var v=this._build(y.slice(),0,y.length-1,0);if(this.data.children.length)if(this.data.height===v.height)this._splitRoot(this.data,v);else{if(this.data.height<v.height){var S=this.data;this.data=v,v=S}this._insert(v,this.data.height-v.height-1,!0)}else this.data=v;return this},s.prototype.insert=function(y){return y&&this._insert(y,this.data.height-1),this},s.prototype.clear=function(){return this.data=E([]),this},s.prototype.remove=function(y,w){if(!y)return this;for(var v,S,P,I=this.data,b=this.toBBox(y),D=[],O=[];I||D.length;){if(I||(I=D.pop(),S=D[D.length-1],v=O.pop(),P=!0),I.leaf){var T=a(y,I.children,w);if(T!==-1)return I.children.splice(T,1),D.push(I),this._condense(D),this}P||I.leaf||!m(I,b)?S?(v++,I=S.children[v],P=!1):I=null:(D.push(I),O.push(v),v=0,S=I,I=I.children[0])}return this},s.prototype.toBBox=function(y){return y},s.prototype.compareMinX=function(y,w){return y.minX-w.minX},s.prototype.compareMinY=function(y,w){return y.minY-w.minY},s.prototype.toJSON=function(){return this.data},s.prototype.fromJSON=function(y){return this.data=y,this},s.prototype._all=function(y,w){for(var v=[];y;)y.leaf?w.push.apply(w,y.children):v.push.apply(v,y.children),y=v.pop();return w},s.prototype._build=function(y,w,v,S){var P,I=v-w+1,b=this._maxEntries;if(I<=b)return o(P=E(y.slice(w,v+1)),this.toBBox),P;S||(S=Math.ceil(Math.log(I)/Math.log(b)),b=Math.ceil(I/Math.pow(b,S-1))),(P=E([])).leaf=!1,P.height=S;var D=Math.ceil(I/b),O=D*Math.ceil(Math.sqrt(b));M(y,w,v,O,this.compareMinX);for(var T=w;T<=v;T+=O){var x=Math.min(T+O-1,v);M(y,T,x,D,this.compareMinY);for(var R=T;R<=x;R+=D){var z=Math.min(R+D-1,x);P.children.push(this._build(y,R,z,S-1))}}return o(P,this.toBBox),P},s.prototype._chooseSubtree=function(y,w,v,S){for(;S.push(w),!w.leaf&&S.length-1!==v;){for(var P=1/0,I=1/0,b=void 0,D=0;D<w.children.length;D++){var O=w.children[D],T=f(O),x=(R=y,z=O,(Math.max(z.maxX,R.maxX)-Math.min(z.minX,R.minX))*(Math.max(z.maxY,R.maxY)-Math.min(z.minY,R.minY))-T);x<I?(I=x,P=T<P?T:P,b=O):x===I&&T<P&&(P=T,b=O)}w=b||w.children[0]}var R,z;return w},s.prototype._insert=function(y,w,v){var S=v?y:this.toBBox(y),P=[],I=this._chooseSubtree(S,this.data,w,P);for(I.children.push(y),u(I,S);w>=0&&P[w].children.length>this._maxEntries;)this._split(P,w),w--;this._adjustParentBBoxes(S,P,w)},s.prototype._split=function(y,w){var v=y[w],S=v.children.length,P=this._minEntries;this._chooseSplitAxis(v,P,S);var I=this._chooseSplitIndex(v,P,S),b=E(v.children.splice(I,v.children.length-I));b.height=v.height,b.leaf=v.leaf,o(v,this.toBBox),o(b,this.toBBox),w?y[w-1].children.push(b):this._splitRoot(v,b)},s.prototype._splitRoot=function(y,w){this.data=E([y,w]),this.data.height=y.height+1,this.data.leaf=!1,o(this.data,this.toBBox)},s.prototype._chooseSplitIndex=function(y,w,v){for(var S,P,I,b,D,O,T,x=1/0,R=1/0,z=w;z<=v-w;z++){var rt=l(y,0,z,this.toBBox),Z=l(y,z,v,this.toBBox),ct=(P=rt,I=Z,b=void 0,D=void 0,O=void 0,T=void 0,b=Math.max(P.minX,I.minX),D=Math.max(P.minY,I.minY),O=Math.min(P.maxX,I.maxX),T=Math.min(P.maxY,I.maxY),Math.max(0,O-b)*Math.max(0,T-D)),G=f(rt)+f(Z);ct<x?(x=ct,S=z,R=G<R?G:R):ct===x&&G<R&&(R=G,S=z)}return S||v-w},s.prototype._chooseSplitAxis=function(y,w,v){var S=y.leaf?this.compareMinX:c,P=y.leaf?this.compareMinY:h;this._allDistMargin(y,w,v,S)<this._allDistMargin(y,w,v,P)&&y.children.sort(S)},s.prototype._allDistMargin=function(y,w,v,S){y.children.sort(S);for(var P=this.toBBox,I=l(y,0,w,P),b=l(y,v-w,v,P),D=g(I)+g(b),O=w;O<v-w;O++){var T=y.children[O];u(I,y.leaf?P(T):T),D+=g(I)}for(var x=v-w-1;x>=w;x--){var R=y.children[x];u(b,y.leaf?P(R):R),D+=g(b)}return D},s.prototype._adjustParentBBoxes=function(y,w,v){for(var S=v;S>=0;S--)u(w[S],y)},s.prototype._condense=function(y){for(var w=y.length-1,v=void 0;w>=0;w--)y[w].children.length===0?w>0?(v=y[w-1].children).splice(v.indexOf(y[w]),1):this.clear():o(y[w],this.toBBox)},s})}(ec)),ec.exports}class Zv{constructor(t=[],e=Bv){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let i=(this.length>>1)-1;i>=0;i--)this._down(i)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:i}=this,n=e[t];for(;t>0;){const s=t-1>>1,a=e[s];if(i(n,a)>=0)break;e[t]=a,t=s}e[t]=n}_down(t){const{data:e,compare:i}=this,n=this.length>>1,s=e[t];for(;t<n;){let a=(t<<1)+1,o=e[a];const l=a+1;if(l<this.length&&i(e[l],o)<0&&(a=l,o=e[l]),i(o,s)>=0)break;e[t]=o,t=a}e[t]=s}}function Bv(r,t){return r<t?-1:r>t?1:0}const $v=Kv(Object.freeze(Object.defineProperty({__proto__:null,default:Zv},Symbol.toStringTag,{value:"Module"})));var Wu={exports:{}},If,wp;function jv(){return wp||(wp=1,If=function(t,e,i,n){var s=t[0],a=t[1],o=!1;i===void 0&&(i=0),n===void 0&&(n=e.length);for(var l=(n-i)/2,u=0,c=l-1;u<l;c=u++){var h=e[i+u*2+0],f=e[i+u*2+1],g=e[i+c*2+0],m=e[i+c*2+1],_=f>a!=m>a&&s<(g-h)*(a-f)/(m-f)+h;_&&(o=!o)}return o}),If}var Mf,Ep;function ty(){return Ep||(Ep=1,Mf=function(t,e,i,n){var s=t[0],a=t[1],o=!1;i===void 0&&(i=0),n===void 0&&(n=e.length);for(var l=n-i,u=0,c=l-1;u<l;c=u++){var h=e[u+i][0],f=e[u+i][1],g=e[c+i][0],m=e[c+i][1],_=f>a!=m>a&&s<(g-h)*(a-f)/(m-f)+h;_&&(o=!o)}return o}),Mf}var Sp;function ey(){if(Sp)return Wu.exports;Sp=1;var r=jv(),t=ty();return Wu.exports=function(i,n,s,a){return n.length>0&&Array.isArray(n[0])?t(i,n,s,a):r(i,n,s,a)},Wu.exports.nested=t,Wu.exports.flat=r,Wu.exports}var Hu={exports:{}},ry=Hu.exports,Pp;function iy(){return Pp||(Pp=1,function(r,t){(function(e,i){i(t)})(ry,function(e){const n=33306690738754706e-32;function s(_,E,M,y,w){let v,S,P,I,b=E[0],D=y[0],O=0,T=0;D>b==D>-b?(v=b,b=E[++O]):(v=D,D=y[++T]);let x=0;if(O<_&&T<M)for(D>b==D>-b?(P=v-((S=b+v)-b),b=E[++O]):(P=v-((S=D+v)-D),D=y[++T]),v=S,P!==0&&(w[x++]=P);O<_&&T<M;)D>b==D>-b?(P=v-((S=v+b)-(I=S-v))+(b-I),b=E[++O]):(P=v-((S=v+D)-(I=S-v))+(D-I),D=y[++T]),v=S,P!==0&&(w[x++]=P);for(;O<_;)P=v-((S=v+b)-(I=S-v))+(b-I),b=E[++O],v=S,P!==0&&(w[x++]=P);for(;T<M;)P=v-((S=v+D)-(I=S-v))+(D-I),D=y[++T],v=S,P!==0&&(w[x++]=P);return v===0&&x!==0||(w[x++]=v),x}function a(_){return new Float64Array(_)}const o=33306690738754716e-32,l=22204460492503146e-32,u=11093356479670487e-47,c=a(4),h=a(8),f=a(12),g=a(16),m=a(4);e.orient2d=function(_,E,M,y,w,v){const S=(E-v)*(M-w),P=(_-w)*(y-v),I=S-P;if(S===0||P===0||S>0!=P>0)return I;const b=Math.abs(S+P);return Math.abs(I)>=o*b?I:-function(D,O,T,x,R,z,rt){let Z,ct,G,X,k,V,A,W,J,ot,gt,lt,St,ut,It,Nt,j,Pt;const bt=D-R,Gt=T-R,Ht=O-z,Xt=x-z;k=(It=(W=bt-(A=(V=134217729*bt)-(V-bt)))*(ot=Xt-(J=(V=134217729*Xt)-(V-Xt)))-((ut=bt*Xt)-A*J-W*J-A*ot))-(gt=It-(j=(W=Ht-(A=(V=134217729*Ht)-(V-Ht)))*(ot=Gt-(J=(V=134217729*Gt)-(V-Gt)))-((Nt=Ht*Gt)-A*J-W*J-A*ot))),c[0]=It-(gt+k)+(k-j),k=(St=ut-((lt=ut+gt)-(k=lt-ut))+(gt-k))-(gt=St-Nt),c[1]=St-(gt+k)+(k-Nt),k=(Pt=lt+gt)-lt,c[2]=lt-(Pt-k)+(gt-k),c[3]=Pt;let Bt=function(zt,Ee){let ke=Ee[0];for(let on=1;on<zt;on++)ke+=Ee[on];return ke}(4,c),me=l*rt;if(Bt>=me||-Bt>=me||(Z=D-(bt+(k=D-bt))+(k-R),G=T-(Gt+(k=T-Gt))+(k-R),ct=O-(Ht+(k=O-Ht))+(k-z),X=x-(Xt+(k=x-Xt))+(k-z),Z===0&&ct===0&&G===0&&X===0)||(me=u*rt+n*Math.abs(Bt),(Bt+=bt*X+Xt*Z-(Ht*G+Gt*ct))>=me||-Bt>=me))return Bt;k=(It=(W=Z-(A=(V=134217729*Z)-(V-Z)))*(ot=Xt-(J=(V=134217729*Xt)-(V-Xt)))-((ut=Z*Xt)-A*J-W*J-A*ot))-(gt=It-(j=(W=ct-(A=(V=134217729*ct)-(V-ct)))*(ot=Gt-(J=(V=134217729*Gt)-(V-Gt)))-((Nt=ct*Gt)-A*J-W*J-A*ot))),m[0]=It-(gt+k)+(k-j),k=(St=ut-((lt=ut+gt)-(k=lt-ut))+(gt-k))-(gt=St-Nt),m[1]=St-(gt+k)+(k-Nt),k=(Pt=lt+gt)-lt,m[2]=lt-(Pt-k)+(gt-k),m[3]=Pt;const Ke=s(4,c,4,m,h);k=(It=(W=bt-(A=(V=134217729*bt)-(V-bt)))*(ot=X-(J=(V=134217729*X)-(V-X)))-((ut=bt*X)-A*J-W*J-A*ot))-(gt=It-(j=(W=Ht-(A=(V=134217729*Ht)-(V-Ht)))*(ot=G-(J=(V=134217729*G)-(V-G)))-((Nt=Ht*G)-A*J-W*J-A*ot))),m[0]=It-(gt+k)+(k-j),k=(St=ut-((lt=ut+gt)-(k=lt-ut))+(gt-k))-(gt=St-Nt),m[1]=St-(gt+k)+(k-Nt),k=(Pt=lt+gt)-lt,m[2]=lt-(Pt-k)+(gt-k),m[3]=Pt;const Yt=s(Ke,h,4,m,f);k=(It=(W=Z-(A=(V=134217729*Z)-(V-Z)))*(ot=X-(J=(V=134217729*X)-(V-X)))-((ut=Z*X)-A*J-W*J-A*ot))-(gt=It-(j=(W=ct-(A=(V=134217729*ct)-(V-ct)))*(ot=G-(J=(V=134217729*G)-(V-G)))-((Nt=ct*G)-A*J-W*J-A*ot))),m[0]=It-(gt+k)+(k-j),k=(St=ut-((lt=ut+gt)-(k=lt-ut))+(gt-k))-(gt=St-Nt),m[1]=St-(gt+k)+(k-Nt),k=(Pt=lt+gt)-lt,m[2]=lt-(Pt-k)+(gt-k),m[3]=Pt;const kt=s(Yt,f,4,m,g);return g[kt-1]}(_,E,M,y,w,v,b)},e.orient2dfast=function(_,E,M,y,w,v){return(E-v)*(M-w)-(_-w)*(y-v)},Object.defineProperty(e,"__esModule",{value:!0})})}(Hu,Hu.exports)),Hu.exports}var Cp;function ny(){if(Cp)return tc.exports;Cp=1;var r=_p(),t=$v,e=ey(),i=iy().orient2d;t.default&&(t=t.default),tc.exports=n,tc.exports.default=n;function n(v,S,P){S=Math.max(0,S===void 0?2:S),P=P||0;var I=g(v),b=new r(16);b.toBBox=function(A){return{minX:A[0],minY:A[1],maxX:A[0],maxY:A[1]}},b.compareMinX=function(A,W){return A[0]-W[0]},b.compareMinY=function(A,W){return A[1]-W[1]},b.load(v);for(var D=[],O=0,T;O<I.length;O++){var x=I[O];b.remove(x),T=m(x,T),D.push(T)}var R=new r(16);for(O=0;O<D.length;O++)R.insert(f(D[O]));for(var z=S*S,rt=P*P;D.length;){var Z=D.shift(),ct=Z.p,G=Z.next.p,X=_(ct,G);if(!(X<rt)){var k=X/z;x=s(b,Z.prev.p,ct,G,Z.next.next.p,k,R),x&&Math.min(_(x,ct),_(x,G))<=k&&(D.push(Z),D.push(m(x,Z)),b.remove(x),R.remove(Z),R.insert(f(Z)),R.insert(f(Z.next)))}}Z=T;var V=[];do V.push(Z.p),Z=Z.next;while(Z!==T);return V.push(Z.p),V}function s(v,S,P,I,b,D,O){for(var T=new t([],a),x=v.data;x;){for(var R=0;R<x.children.length;R++){var z=x.children[R],rt=x.leaf?E(z,P,I):o(P,I,z);rt>D||T.push({node:z,dist:rt})}for(;T.length&&!T.peek().node.children;){var Z=T.pop(),ct=Z.node,G=E(ct,S,P),X=E(ct,I,b);if(Z.dist<G&&Z.dist<X&&u(P,ct,O)&&u(I,ct,O))return ct}x=T.pop(),x&&(x=x.node)}return null}function a(v,S){return v.dist-S.dist}function o(v,S,P){if(l(v,P)||l(S,P))return 0;var I=M(v[0],v[1],S[0],S[1],P.minX,P.minY,P.maxX,P.minY);if(I===0)return 0;var b=M(v[0],v[1],S[0],S[1],P.minX,P.minY,P.minX,P.maxY);if(b===0)return 0;var D=M(v[0],v[1],S[0],S[1],P.maxX,P.minY,P.maxX,P.maxY);if(D===0)return 0;var O=M(v[0],v[1],S[0],S[1],P.minX,P.maxY,P.maxX,P.maxY);return O===0?0:Math.min(I,b,D,O)}function l(v,S){return v[0]>=S.minX&&v[0]<=S.maxX&&v[1]>=S.minY&&v[1]<=S.maxY}function u(v,S,P){for(var I=Math.min(v[0],S[0]),b=Math.min(v[1],S[1]),D=Math.max(v[0],S[0]),O=Math.max(v[1],S[1]),T=P.search({minX:I,minY:b,maxX:D,maxY:O}),x=0;x<T.length;x++)if(h(T[x].p,T[x].next.p,v,S))return!1;return!0}function c(v,S,P){return i(v[0],v[1],S[0],S[1],P[0],P[1])}function h(v,S,P,I){return v!==I&&S!==P&&c(v,S,P)>0!=c(v,S,I)>0&&c(P,I,v)>0!=c(P,I,S)>0}function f(v){var S=v.p,P=v.next.p;return v.minX=Math.min(S[0],P[0]),v.minY=Math.min(S[1],P[1]),v.maxX=Math.max(S[0],P[0]),v.maxY=Math.max(S[1],P[1]),v}function g(v){for(var S=v[0],P=v[0],I=v[0],b=v[0],D=0;D<v.length;D++){var O=v[D];O[0]<S[0]&&(S=O),O[0]>I[0]&&(I=O),O[1]<P[1]&&(P=O),O[1]>b[1]&&(b=O)}var T=[S,P,I,b],x=T.slice();for(D=0;D<v.length;D++)e(v[D],T)||x.push(v[D]);return w(x)}function m(v,S){var P={p:v,prev:null,next:null,minX:0,minY:0,maxX:0,maxY:0};return S?(P.next=S.next,P.prev=S,S.next.prev=P,S.next=P):(P.prev=P,P.next=P),P}function _(v,S){var P=v[0]-S[0],I=v[1]-S[1];return P*P+I*I}function E(v,S,P){var I=S[0],b=S[1],D=P[0]-I,O=P[1]-b;if(D!==0||O!==0){var T=((v[0]-I)*D+(v[1]-b)*O)/(D*D+O*O);T>1?(I=P[0],b=P[1]):T>0&&(I+=D*T,b+=O*T)}return D=v[0]-I,O=v[1]-b,D*D+O*O}function M(v,S,P,I,b,D,O,T){var x=P-v,R=I-S,z=O-b,rt=T-D,Z=v-b,ct=S-D,G=x*x+R*R,X=x*z+R*rt,k=z*z+rt*rt,V=x*Z+R*ct,A=z*Z+rt*ct,W=G*k-X*X,J,ot,gt,lt,St=W,ut=W;W===0?(ot=0,St=1,lt=A,ut=k):(ot=X*A-k*V,lt=G*A-X*V,ot<0?(ot=0,lt=A,ut=k):ot>St&&(ot=St,lt=A+X,ut=k)),lt<0?(lt=0,-V<0?ot=0:-V>G?ot=St:(ot=-V,St=G)):lt>ut&&(lt=ut,-V+X<0?ot=0:-V+X>G?ot=St:(ot=-V+X,St=G)),J=ot===0?0:ot/St,gt=lt===0?0:lt/ut;var It=(1-J)*v+J*P,Nt=(1-J)*S+J*I,j=(1-gt)*b+gt*O,Pt=(1-gt)*D+gt*T,bt=j-It,Gt=Pt-Nt;return bt*bt+Gt*Gt}function y(v,S){return v[0]===S[0]?v[1]-S[1]:v[0]-S[0]}function w(v){v.sort(y);for(var S=[],P=0;P<v.length;P++){for(;S.length>=2&&c(S[S.length-2],S[S.length-1],v[P])<=0;)S.pop();S.push(v[P])}for(var I=[],b=v.length-1;b>=0;b--){for(;I.length>=2&&c(I[I.length-2],I[I.length-1],v[b])<=0;)I.pop();I.push(v[b])}return I.pop(),S.pop(),S.concat(I)}return tc.exports}var sy=ny();const ay=vp(sy);function oy(r,t){t===void 0&&(t={}),t.concavity=t.concavity||1/0;var e=[];if(Jl(r,function(n){e.push([n[0],n[1]])}),!e.length)return null;var i=ay(e,t.concavity);return i.length>3?Pr([i]):null}function Fi(r,t,e){if(e===void 0&&(e={}),!r)throw new Error("point is required");if(!t)throw new Error("polygon is required");var i=Rr(r),n=yi(t),s=n.type,a=t.bbox,o=n.coordinates;if(a&&ly(i,a)===!1)return!1;s==="Polygon"&&(o=[o]);for(var l=!1,u=0;u<o.length&&!l;u++)if(Ip(i,o[u][0],e.ignoreBoundary)){for(var c=!1,h=1;h<o[u].length&&!c;)Ip(i,o[u][h],!e.ignoreBoundary)&&(c=!0),h++;c||(l=!0)}return l}function Ip(r,t,e){var i=!1;t[0][0]===t[t.length-1][0]&&t[0][1]===t[t.length-1][1]&&(t=t.slice(0,t.length-1));for(var n=0,s=t.length-1;n<t.length;s=n++){var a=t[n][0],o=t[n][1],l=t[s][0],u=t[s][1],c=r[1]*(a-l)+o*(l-r[0])+u*(r[0]-a)===0&&(a-r[0])*(l-r[0])<=0&&(o-r[1])*(u-r[1])<=0;if(c)return!e;var h=o>r[1]!=u>r[1]&&r[0]<(l-a)*(r[1]-o)/(u-o)+a;h&&(i=!i)}return i}function ly(r,t){return t[0]<=r[0]&&t[1]<=r[1]&&t[2]>=r[0]&&t[3]>=r[1]}function ps(r,t,e){e===void 0&&(e={});var i=Rr(r),n=Rr(t),s=Cr(n[1]-i[1]),a=Cr(n[0]-i[0]),o=Cr(i[1]),l=Cr(n[1]),u=Math.pow(Math.sin(s/2),2)+Math.pow(Math.sin(a/2),2)*Math.cos(o)*Math.cos(l);return Ef(2*Math.atan2(Math.sqrt(u),Math.sqrt(1-u)),e.units)}function Kl(r,t,e,i){i===void 0&&(i={});var n=Rr(r),s=Cr(n[0]),a=Cr(n[1]),o=Cr(e),l=Sf(t,i.units),u=Math.asin(Math.sin(a)*Math.cos(l)+Math.cos(a)*Math.sin(l)*Math.cos(o)),c=s+Math.atan2(Math.sin(o)*Math.sin(l)*Math.cos(a),Math.cos(l)-Math.sin(a)*Math.sin(u)),h=Bh(c),f=Bh(u);return ae([h,f],i.properties)}function uy(r,t,e){e===void 0&&(e={});for(var i=e.steps||64,n=e.properties?e.properties:!Array.isArray(r)&&r.type==="Feature"&&r.properties?r.properties:{},s=[],a=0;a<i;a++)s.push(Kl(r,t,a*-360/i,e).geometry.coordinates);return s.push(s[0]),Pr([s],n)}function Xu(r,t,e){if(e===void 0&&(e={}),e.final===!0)return hy(r,t);var i=Rr(r),n=Rr(t),s=Cr(i[0]),a=Cr(n[0]),o=Cr(i[1]),l=Cr(n[1]),u=Math.sin(a-s)*Math.cos(l),c=Math.cos(o)*Math.sin(l)-Math.sin(o)*Math.cos(l)*Math.cos(a-s);return Bh(Math.atan2(u,c))}function hy(r,t){var e=Xu(t,r);return e=(e+180)%360,e}function cy(r,t){var e=ps(r,t),i=Xu(r,t),n=Kl(r,e/2,i);return n}function fy(r,t){t===void 0&&(t={});var e=cn(r),i=(e[0]+e[2])/2,n=(e[1]+e[3])/2;return ae([i,n],t.properties,t)}function Mp(r,t){t===void 0&&(t={});var e=0,i=0,n=0;return Jl(r,function(s){e+=s[0],i+=s[1],n++},!0),ae([e/n,i/n],t.properties)}function Np(r,t){switch(t===void 0&&(t={}),Jv(r)){case"Point":return ae(Rr(r),t.properties);case"Polygon":var e=[];Jl(r,function(v){e.push(v)});var i=Mp(r,{properties:t.properties}),n=i.geometry.coordinates,s=0,a=0,o=0,l,u,c,h,f,g,m,_,E=e.map(function(v){return[v[0]-n[0],v[1]-n[1]]});for(l=0;l<e.length-1;l++)u=E[l],h=u[0],g=u[1],c=E[l+1],f=c[0],m=c[1],_=h*m-f*g,o+=_,s+=(h+f)*_,a+=(g+m)*_;if(o===0)return i;var M=o*.5,y=1/(6*M);return ae([n[0]+y*s,n[1]+y*a],t.properties);default:var w=oy(r);return w?Np(w,{properties:t.properties}):Mp(r,{properties:t.properties})}}function bp(r){if(!r)throw new Error("geojson is required");var t=[];return Cf(r,function(e){dy(e,t)}),Yl(t)}function dy(r,t){var e=[],i=r.geometry;if(i!==null){switch(i.type){case"Polygon":e=La(i);break;case"LineString":e=[La(i)]}e.forEach(function(n){var s=py(n,r.properties);s.forEach(function(a){a.id=t.length,t.push(a)})})}}function py(r,t){var e=[];return r.reduce(function(i,n){var s=hn([i,n],t);return s.bbox=gy(i,n),e.push(s),n}),e}function gy(r,t){var e=r[0],i=r[1],n=t[0],s=t[1],a=e<n?e:n,o=i<s?i:s,l=e>n?e:n,u=i>s?i:s;return[a,o,l,u]}var rc={exports:{}},Nf={},Tp;function Dp(){return Tp||(Tp=1,function(r){Object.defineProperty(r,"__esModule",{value:!0}),r.earthRadius=63710088e-1,r.factors={centimeters:r.earthRadius*100,centimetres:r.earthRadius*100,degrees:r.earthRadius/111325,feet:r.earthRadius*3.28084,inches:r.earthRadius*39.37,kilometers:r.earthRadius/1e3,kilometres:r.earthRadius/1e3,meters:r.earthRadius,metres:r.earthRadius,miles:r.earthRadius/1609.344,millimeters:r.earthRadius*1e3,millimetres:r.earthRadius*1e3,nauticalmiles:r.earthRadius/1852,radians:1,yards:r.earthRadius*1.0936},r.unitsFactors={centimeters:100,centimetres:100,degrees:8982708286548395e-21,feet:3.28084,inches:39.37,kilometers:.001,kilometres:.001,meters:1,metres:1,miles:.0006213711922373339,millimeters:1e3,millimetres:1e3,nauticalmiles:.0005399568034557236,radians:1/r.earthRadius,yards:1.0936133},r.areaFactors={acres:247105e-9,centimeters:1e4,centimetres:1e4,feet:10.763910417,hectares:1e-4,inches:1550.003100006,kilometers:1e-6,kilometres:1e-6,meters:1,metres:1,miles:386e-9,millimeters:1e6,millimetres:1e6,yards:1.195990046};function t(T,x,R){R===void 0&&(R={});var z={type:"Feature"};return(R.id===0||R.id)&&(z.id=R.id),R.bbox&&(z.bbox=R.bbox),z.properties=x||{},z.geometry=T,z}r.feature=t;function e(T,x,R){switch(T){case"Point":return i(x).geometry;case"LineString":return o(x).geometry;case"Polygon":return s(x).geometry;case"MultiPoint":return h(x).geometry;case"MultiLineString":return c(x).geometry;case"MultiPolygon":return f(x).geometry;default:throw new Error(T+" is invalid")}}r.geometry=e;function i(T,x,R){if(R===void 0&&(R={}),!T)throw new Error("coordinates is required");if(!Array.isArray(T))throw new Error("coordinates must be an Array");if(T.length<2)throw new Error("coordinates must be at least 2 numbers long");if(!I(T[0])||!I(T[1]))throw new Error("coordinates must contain numbers");var z={type:"Point",coordinates:T};return t(z,x,R)}r.point=i;function n(T,x,R){return R===void 0&&(R={}),u(T.map(function(z){return i(z,x)}),R)}r.points=n;function s(T,x,R){R===void 0&&(R={});for(var z=0,rt=T;z<rt.length;z++){var Z=rt[z];if(Z.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");for(var ct=0;ct<Z[Z.length-1].length;ct++)if(Z[Z.length-1][ct]!==Z[0][ct])throw new Error("First and last Position are not equivalent.")}var G={type:"Polygon",coordinates:T};return t(G,x,R)}r.polygon=s;function a(T,x,R){return R===void 0&&(R={}),u(T.map(function(z){return s(z,x)}),R)}r.polygons=a;function o(T,x,R){if(R===void 0&&(R={}),T.length<2)throw new Error("coordinates must be an array of two or more positions");var z={type:"LineString",coordinates:T};return t(z,x,R)}r.lineString=o;function l(T,x,R){return R===void 0&&(R={}),u(T.map(function(z){return o(z,x)}),R)}r.lineStrings=l;function u(T,x){x===void 0&&(x={});var R={type:"FeatureCollection"};return x.id&&(R.id=x.id),x.bbox&&(R.bbox=x.bbox),R.features=T,R}r.featureCollection=u;function c(T,x,R){R===void 0&&(R={});var z={type:"MultiLineString",coordinates:T};return t(z,x,R)}r.multiLineString=c;function h(T,x,R){R===void 0&&(R={});var z={type:"MultiPoint",coordinates:T};return t(z,x,R)}r.multiPoint=h;function f(T,x,R){R===void 0&&(R={});var z={type:"MultiPolygon",coordinates:T};return t(z,x,R)}r.multiPolygon=f;function g(T,x,R){R===void 0&&(R={});var z={type:"GeometryCollection",geometries:T};return t(z,x,R)}r.geometryCollection=g;function m(T,x){if(x===void 0&&(x=0),x&&!(x>=0))throw new Error("precision must be a positive number");var R=Math.pow(10,x||0);return Math.round(T*R)/R}r.round=m;function _(T,x){x===void 0&&(x="kilometers");var R=r.factors[x];if(!R)throw new Error(x+" units is invalid");return T*R}r.radiansToLength=_;function E(T,x){x===void 0&&(x="kilometers");var R=r.factors[x];if(!R)throw new Error(x+" units is invalid");return T/R}r.lengthToRadians=E;function M(T,x){return w(E(T,x))}r.lengthToDegrees=M;function y(T){var x=T%360;return x<0&&(x+=360),x}r.bearingToAzimuth=y;function w(T){var x=T%(2*Math.PI);return x*180/Math.PI}r.radiansToDegrees=w;function v(T){var x=T%360;return x*Math.PI/180}r.degreesToRadians=v;function S(T,x,R){if(x===void 0&&(x="kilometers"),R===void 0&&(R="kilometers"),!(T>=0))throw new Error("length must be a positive number");return _(E(T,x),R)}r.convertLength=S;function P(T,x,R){if(x===void 0&&(x="meters"),R===void 0&&(R="kilometers"),!(T>=0))throw new Error("area must be a positive number");var z=r.areaFactors[x];if(!z)throw new Error("invalid original units");var rt=r.areaFactors[R];if(!rt)throw new Error("invalid final units");return T/z*rt}r.convertArea=P;function I(T){return!isNaN(T)&&T!==null&&!Array.isArray(T)}r.isNumber=I;function b(T){return!!T&&T.constructor===Object}r.isObject=b;function D(T){if(!T)throw new Error("bbox is required");if(!Array.isArray(T))throw new Error("bbox must be an Array");if(T.length!==4&&T.length!==6)throw new Error("bbox must be an Array of 4 or 6 numbers");T.forEach(function(x){if(!I(x))throw new Error("bbox must only contain numbers")})}r.validateBBox=D;function O(T){if(!T)throw new Error("id is required");if(["string","number"].indexOf(typeof T)===-1)throw new Error("id must be a number or a string")}r.validateId=O}(Nf)),Nf}var ze={},xp;function Op(){if(xp)return ze;xp=1,Object.defineProperty(ze,"__esModule",{value:!0});var r=Dp();function t(y,w,v){if(y!==null)for(var S,P,I,b,D,O,T,x=0,R=0,z,rt=y.type,Z=rt==="FeatureCollection",ct=rt==="Feature",G=Z?y.features.length:1,X=0;X<G;X++){T=Z?y.features[X].geometry:ct?y.geometry:y,z=T?T.type==="GeometryCollection":!1,D=z?T.geometries.length:1;for(var k=0;k<D;k++){var V=0,A=0;if(b=z?T.geometries[k]:T,b!==null){O=b.coordinates;var W=b.type;switch(x=v&&(W==="Polygon"||W==="MultiPolygon")?1:0,W){case null:break;case"Point":if(w(O,R,X,V,A)===!1)return!1;R++,V++;break;case"LineString":case"MultiPoint":for(S=0;S<O.length;S++){if(w(O[S],R,X,V,A)===!1)return!1;R++,W==="MultiPoint"&&V++}W==="LineString"&&V++;break;case"Polygon":case"MultiLineString":for(S=0;S<O.length;S++){for(P=0;P<O[S].length-x;P++){if(w(O[S][P],R,X,V,A)===!1)return!1;R++}W==="MultiLineString"&&V++,W==="Polygon"&&A++}W==="Polygon"&&V++;break;case"MultiPolygon":for(S=0;S<O.length;S++){for(A=0,P=0;P<O[S].length;P++){for(I=0;I<O[S][P].length-x;I++){if(w(O[S][P][I],R,X,V,A)===!1)return!1;R++}A++}V++}break;case"GeometryCollection":for(S=0;S<b.geometries.length;S++)if(t(b.geometries[S],w,v)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function e(y,w,v,S){var P=v;return t(y,function(I,b,D,O,T){b===0&&v===void 0?P=I:P=w(P,I,b,D,O,T)},S),P}function i(y,w){var v;switch(y.type){case"FeatureCollection":for(v=0;v<y.features.length&&w(y.features[v].properties,v)!==!1;v++);break;case"Feature":w(y.properties,0);break}}function n(y,w,v){var S=v;return i(y,function(P,I){I===0&&v===void 0?S=P:S=w(S,P,I)}),S}function s(y,w){if(y.type==="Feature")w(y,0);else if(y.type==="FeatureCollection")for(var v=0;v<y.features.length&&w(y.features[v],v)!==!1;v++);}function a(y,w,v){var S=v;return s(y,function(P,I){I===0&&v===void 0?S=P:S=w(S,P,I)}),S}function o(y){var w=[];return t(y,function(v){w.push(v)}),w}function l(y,w){var v,S,P,I,b,D,O,T,x,R,z=0,rt=y.type==="FeatureCollection",Z=y.type==="Feature",ct=rt?y.features.length:1;for(v=0;v<ct;v++){for(D=rt?y.features[v].geometry:Z?y.geometry:y,T=rt?y.features[v].properties:Z?y.properties:{},x=rt?y.features[v].bbox:Z?y.bbox:void 0,R=rt?y.features[v].id:Z?y.id:void 0,O=D?D.type==="GeometryCollection":!1,b=O?D.geometries.length:1,P=0;P<b;P++){if(I=O?D.geometries[P]:D,I===null){if(w(null,z,T,x,R)===!1)return!1;continue}switch(I.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(w(I,z,T,x,R)===!1)return!1;break}case"GeometryCollection":{for(S=0;S<I.geometries.length;S++)if(w(I.geometries[S],z,T,x,R)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}z++}}function u(y,w,v){var S=v;return l(y,function(P,I,b,D,O){I===0&&v===void 0?S=P:S=w(S,P,I,b,D,O)}),S}function c(y,w){l(y,function(v,S,P,I,b){var D=v===null?null:v.type;switch(D){case null:case"Point":case"LineString":case"Polygon":return w(r.feature(v,P,{bbox:I,id:b}),S,0)===!1?!1:void 0}var O;switch(D){case"MultiPoint":O="Point";break;case"MultiLineString":O="LineString";break;case"MultiPolygon":O="Polygon";break}for(var T=0;T<v.coordinates.length;T++){var x=v.coordinates[T],R={type:O,coordinates:x};if(w(r.feature(R,P),S,T)===!1)return!1}})}function h(y,w,v){var S=v;return c(y,function(P,I,b){I===0&&b===0&&v===void 0?S=P:S=w(S,P,I,b)}),S}function f(y,w){c(y,function(v,S,P){var I=0;if(v.geometry){var b=v.geometry.type;if(!(b==="Point"||b==="MultiPoint")){var D,O=0,T=0,x=0;if(t(v,function(R,z,rt,Z,ct){if(D===void 0||S>O||Z>T||ct>x){D=R,O=S,T=Z,x=ct,I=0;return}var G=r.lineString([D,R],v.properties);if(w(G,S,P,ct,I)===!1)return!1;I++,D=R})===!1)return!1}}})}function g(y,w,v){var S=v,P=!1;return f(y,function(I,b,D,O,T){P===!1&&v===void 0?S=I:S=w(S,I,b,D,O,T),P=!0}),S}function m(y,w){if(!y)throw new Error("geojson is required");c(y,function(v,S,P){if(v.geometry!==null){var I=v.geometry.type,b=v.geometry.coordinates;switch(I){case"LineString":if(w(v,S,P,0,0)===!1)return!1;break;case"Polygon":for(var D=0;D<b.length;D++)if(w(r.lineString(b[D],v.properties),S,P,D)===!1)return!1;break}}})}function _(y,w,v){var S=v;return m(y,function(P,I,b,D){I===0&&v===void 0?S=P:S=w(S,P,I,b,D)}),S}function E(y,w){if(w=w||{},!r.isObject(w))throw new Error("options is invalid");var v=w.featureIndex||0,S=w.multiFeatureIndex||0,P=w.geometryIndex||0,I=w.segmentIndex||0,b=w.properties,D;switch(y.type){case"FeatureCollection":v<0&&(v=y.features.length+v),b=b||y.features[v].properties,D=y.features[v].geometry;break;case"Feature":b=b||y.properties,D=y.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":D=y;break;default:throw new Error("geojson is invalid")}if(D===null)return null;var O=D.coordinates;switch(D.type){case"Point":case"MultiPoint":return null;case"LineString":return I<0&&(I=O.length+I-1),r.lineString([O[I],O[I+1]],b,w);case"Polygon":return P<0&&(P=O.length+P),I<0&&(I=O[P].length+I-1),r.lineString([O[P][I],O[P][I+1]],b,w);case"MultiLineString":return S<0&&(S=O.length+S),I<0&&(I=O[S].length+I-1),r.lineString([O[S][I],O[S][I+1]],b,w);case"MultiPolygon":return S<0&&(S=O.length+S),P<0&&(P=O[S].length+P),I<0&&(I=O[S][P].length-I-1),r.lineString([O[S][P][I],O[S][P][I+1]],b,w)}throw new Error("geojson is invalid")}function M(y,w){if(w=w||{},!r.isObject(w))throw new Error("options is invalid");var v=w.featureIndex||0,S=w.multiFeatureIndex||0,P=w.geometryIndex||0,I=w.coordIndex||0,b=w.properties,D;switch(y.type){case"FeatureCollection":v<0&&(v=y.features.length+v),b=b||y.features[v].properties,D=y.features[v].geometry;break;case"Feature":b=b||y.properties,D=y.geometry;break;case"Point":case"MultiPoint":return null;case"LineString":case"Polygon":case"MultiLineString":case"MultiPolygon":D=y;break;default:throw new Error("geojson is invalid")}if(D===null)return null;var O=D.coordinates;switch(D.type){case"Point":return r.point(O,b,w);case"MultiPoint":return S<0&&(S=O.length+S),r.point(O[S],b,w);case"LineString":return I<0&&(I=O.length+I),r.point(O[I],b,w);case"Polygon":return P<0&&(P=O.length+P),I<0&&(I=O[P].length+I),r.point(O[P][I],b,w);case"MultiLineString":return S<0&&(S=O.length+S),I<0&&(I=O[S].length+I),r.point(O[S][I],b,w);case"MultiPolygon":return S<0&&(S=O.length+S),P<0&&(P=O[S].length+P),I<0&&(I=O[S][P].length-I),r.point(O[S][P][I],b,w)}throw new Error("geojson is invalid")}return ze.coordAll=o,ze.coordEach=t,ze.coordReduce=e,ze.featureEach=s,ze.featureReduce=a,ze.findPoint=M,ze.findSegment=E,ze.flattenEach=c,ze.flattenReduce=h,ze.geomEach=l,ze.geomReduce=u,ze.lineEach=m,ze.lineReduce=_,ze.propEach=i,ze.propReduce=n,ze.segmentEach=f,ze.segmentReduce=g,ze}var ic={},Ap;function my(){if(Ap)return ic;Ap=1,Object.defineProperty(ic,"__esModule",{value:!0});var r=Op();function t(e){var i=[1/0,1/0,-1/0,-1/0];return r.coordEach(e,function(n){i[0]>n[0]&&(i[0]=n[0]),i[1]>n[1]&&(i[1]=n[1]),i[2]<n[0]&&(i[2]=n[0]),i[3]<n[1]&&(i[3]=n[1])}),i}return t.default=t,ic.default=t,ic}var Lp;function vy(){if(Lp)return rc.exports;Lp=1;var r=_p(),t=Dp(),e=Op(),i=my().default,n=e.featureEach;e.coordEach,t.polygon;var s=t.featureCollection;function a(o){var l=new r(o);return l.insert=function(u){if(u.type!=="Feature")throw new Error("invalid feature");return u.bbox=u.bbox?u.bbox:i(u),r.prototype.insert.call(this,u)},l.load=function(u){var c=[];return Array.isArray(u)?u.forEach(function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:i(h),c.push(h)}):n(u,function(h){if(h.type!=="Feature")throw new Error("invalid features");h.bbox=h.bbox?h.bbox:i(h),c.push(h)}),r.prototype.load.call(this,c)},l.remove=function(u,c){if(u.type!=="Feature")throw new Error("invalid feature");return u.bbox=u.bbox?u.bbox:i(u),r.prototype.remove.call(this,u,c)},l.clear=function(){return r.prototype.clear.call(this)},l.search=function(u){var c=r.prototype.search.call(this,this.toBBox(u));return s(c)},l.collides=function(u){return r.prototype.collides.call(this,this.toBBox(u))},l.all=function(){var u=r.prototype.all.call(this);return s(u)},l.toJSON=function(){return r.prototype.toJSON.call(this)},l.fromJSON=function(u){return r.prototype.fromJSON.call(this,u)},l.toBBox=function(u){var c;if(u.bbox)c=u.bbox;else if(Array.isArray(u)&&u.length===4)c=u;else if(Array.isArray(u)&&u.length===6)c=[u[0],u[1],u[3],u[4]];else if(u.type==="Feature")c=i(u);else if(u.type==="FeatureCollection")c=i(u);else throw new Error("invalid geojson");return{minX:c[0],minY:c[1],maxX:c[2],maxY:c[3]}},l}return rc.exports=a,rc.exports.default=a,rc.exports}var yy=vy();const _y=vp(yy);function Rp(r,t){var e={},i=[];if(r.type==="LineString"&&(r=un(r)),t.type==="LineString"&&(t=un(t)),r.type==="Feature"&&t.type==="Feature"&&r.geometry!==null&&t.geometry!==null&&r.geometry.type==="LineString"&&t.geometry.type==="LineString"&&r.geometry.coordinates.length===2&&t.geometry.coordinates.length===2){var n=Fp(r,t);return n&&i.push(n),Yl(i)}var s=_y();return s.load(bp(t)),$h(bp(r),function(a){$h(s.search(a),function(o){var l=Fp(a,o);if(l){var u=La(l).join(",");e[u]||(e[u]=!0,i.push(l))}})}),Yl(i)}function Fp(r,t){var e=La(r),i=La(t);if(e.length!==2)throw new Error("<intersects> line1 must only contain 2 coordinates");if(i.length!==2)throw new Error("<intersects> line2 must only contain 2 coordinates");var n=e[0][0],s=e[0][1],a=e[1][0],o=e[1][1],l=i[0][0],u=i[0][1],c=i[1][0],h=i[1][1],f=(h-u)*(a-n)-(c-l)*(o-s),g=(c-l)*(s-u)-(h-u)*(n-l),m=(a-n)*(s-u)-(o-s)*(n-l);if(f===0)return null;var _=g/f,E=m/f;if(_>=0&&_<=1&&E>=0&&E<=1){var M=n+_*(a-n),y=s+_*(o-s);return ae([M,y])}return null}function wy(r,t,e){e===void 0&&(e={});var i=ae([1/0,1/0],{dist:1/0}),n=0;return Cf(r,function(s){for(var a=La(s),o=0;o<a.length-1;o++){var l=ae(a[o]);l.properties.dist=ps(t,l,e);var u=ae(a[o+1]);u.properties.dist=ps(t,u,e);var c=ps(l,u,e),h=Math.max(l.properties.dist,u.properties.dist),f=Xu(l,u),g=Kl(t,h,f+90,e),m=Kl(t,h,f-90,e),_=Rp(hn([g.geometry.coordinates,m.geometry.coordinates]),hn([l.geometry.coordinates,u.geometry.coordinates])),E=null;_.features.length>0&&(E=_.features[0],E.properties.dist=ps(t,E,e),E.properties.location=n+ps(l,E,e)),l.properties.dist<i.properties.dist&&(i=l,i.properties.index=o,i.properties.location=n),u.properties.dist<i.properties.dist&&(i=u,i.properties.index=o+1,i.properties.location=n+c),E&&E.properties.dist<i.properties.dist&&(i=E,i.properties.index=o),n+=c}}),i}function Gp(r,t,e){e===void 0&&(e={});var i=Rr(r),n=Rr(t);n[0]+=n[0]-i[0]>180?-360:i[0]-n[0]>180?360:0;var s=Ey(i,n),a=Pf(s,"meters",e.units);return a}function Ey(r,t,e){e=e===void 0?hr:Number(e);var i=e,n=r[1]*Math.PI/180,s=t[1]*Math.PI/180,a=s-n,o=Math.abs(t[0]-r[0])*Math.PI/180;o>Math.PI&&(o-=2*Math.PI);var l=Math.log(Math.tan(s/2+Math.PI/4)/Math.tan(n/2+Math.PI/4)),u=Math.abs(l)>1e-11?a/l:Math.cos(n),c=Math.sqrt(a*a+u*u*o*o),h=c*i;return h}function Sy(r,t,e){if(e===void 0&&(e={}),e.method||(e.method="geodesic"),e.units||(e.units="kilometers"),!r)throw new Error("pt is required");if(Array.isArray(r)?r=ae(r):r.type==="Point"?r=un(r):mp(r,"Point","point"),!t)throw new Error("line is required");Array.isArray(t)?t=hn(t):t.type==="LineString"?t=un(t):mp(t,"LineString","line");var i=1/0,n=r.geometry.coordinates;return Yv(t,function(s){var a=s.geometry.coordinates[0],o=s.geometry.coordinates[1],l=Py(n,a,o,e);l<i&&(i=l)}),Pf(i,"degrees",e.units)}function Py(r,t,e,i){var n=[e[0]-t[0],e[1]-t[1]],s=[r[0]-t[0],r[1]-t[1]],a=kp(s,n);if(a<=0)return bf(r,t,{method:i.method,units:"degrees"});var o=kp(n,n);if(o<=a)return bf(r,e,{method:i.method,units:"degrees"});var l=a/o,u=[t[0]+l*n[0],t[1]+l*n[1]];return bf(r,u,{method:i.method,units:"degrees"})}function kp(r,t){return r[0]*t[0]+r[1]*t[1]}function bf(r,t,e){return e.method==="planar"?Gp(r,t,e):ps(r,t,e)}var zp=6378137;function Cy(r){return Xv(r,function(t,e){return t+Iy(e)},0)}function Iy(r){var t=0,e;switch(r.type){case"Polygon":return Vp(r.coordinates);case"MultiPolygon":for(e=0;e<r.coordinates.length;e++)t+=Vp(r.coordinates[e]);return t;case"Point":case"MultiPoint":case"LineString":case"MultiLineString":return 0}return 0}function Vp(r){var t=0;if(r&&r.length>0){t+=Math.abs(Up(r[0]));for(var e=1;e<r.length;e++)t-=Math.abs(Up(r[e]))}return t}function Up(r){var t,e,i,n,s,a,o,l=0,u=r.length;if(u>2){for(o=0;o<u;o++)o===u-2?(n=u-2,s=u-1,a=0):o===u-1?(n=u-1,s=0,a=1):(n=o,s=o+1,a=o+2),t=r[n],e=r[s],i=r[a],l+=(Tf(i[0])-Tf(t[0]))*Math.sin(Tf(e[1]));l=l*zp*zp/2}return l}function Tf(r){return r*Math.PI/180}function My(r,t,e){e===void 0&&(e={});for(var i=yi(r),n=i.coordinates,s=0,a=0;a<n.length&&!(t>=s&&a===n.length-1);a++)if(s>=t){var o=t-s;if(o){var l=Xu(n[a],n[a-1])-180,u=Kl(n[a],o,l,e);return u}else return ae(n[a])}else s+=ps(n[a],n[a+1],e);return ae(n[n.length-1])}function gs(r,t,e){e===void 0&&(e={});for(var i=Rr(r),n=La(t),s=0;s<n.length-1;s++){var a=!1;if(e.ignoreEndVertices&&(s===0&&(a="start"),s===n.length-2&&(a="end"),s===0&&s+1===n.length-1&&(a="both")),Ny(n[s],n[s+1],i,a,typeof e.epsilon>"u"?null:e.epsilon))return!0}return!1}function Ny(r,t,e,i,n){var s=e[0],a=e[1],o=r[0],l=r[1],u=t[0],c=t[1],h=e[0]-o,f=e[1]-l,g=u-o,m=c-l,_=h*m-f*g;if(n!==null){if(Math.abs(_)>n)return!1}else if(_!==0)return!1;if(i){if(i==="start")return Math.abs(g)>=Math.abs(m)?g>0?o<s&&s<=u:u<=s&&s<o:m>0?l<a&&a<=c:c<=a&&a<l;if(i==="end")return Math.abs(g)>=Math.abs(m)?g>0?o<=s&&s<u:u<s&&s<=o:m>0?l<=a&&a<c:c<a&&a<=l;if(i==="both")return Math.abs(g)>=Math.abs(m)?g>0?o<s&&s<u:u<s&&s<o:m>0?l<a&&a<c:c<a&&a<l}else return Math.abs(g)>=Math.abs(m)?g>0?o<=s&&s<=u:u<=s&&s<=o:m>0?l<=a&&a<=c:c<=a&&a<=l;return!1}function by(r,t){var e=yi(r),i=yi(t),n=e.type,s=i.type;switch(n){case"Point":switch(s){case"MultiPoint":return Ty(e,i);case"LineString":return gs(e,i,{ignoreEndVertices:!0});case"Polygon":case"MultiPolygon":return Fi(e,i,{ignoreBoundary:!0});default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"MultiPoint":return Dy(e,i);case"LineString":return xy(e,i);case"Polygon":case"MultiPolygon":return Oy(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"LineString":return Ay(e,i);case"Polygon":case"MultiPolygon":return Ly(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Polygon":case"MultiPolygon":return Ry(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+n+" geometry not supported")}}function Ty(r,t){var e,i=!1;for(e=0;e<t.coordinates.length;e++)if(Wp(t.coordinates[e],r.coordinates)){i=!0;break}return i}function Dy(r,t){for(var e=0;e<r.coordinates.length;e++){for(var i=!1,n=0;n<t.coordinates.length;n++)Wp(r.coordinates[e],t.coordinates[n])&&(i=!0);if(!i)return!1}return!0}function xy(r,t){for(var e=!1,i=0;i<r.coordinates.length;i++){if(!gs(r.coordinates[i],t))return!1;e||(e=gs(r.coordinates[i],t,{ignoreEndVertices:!0}))}return e}function Oy(r,t){for(var e=!0,i=!1,n=0;n<r.coordinates.length;n++){if(i=Fi(r.coordinates[1],t),!i){e=!1;break}i=Fi(r.coordinates[1],t,{ignoreBoundary:!0})}return e&&i}function Ay(r,t){for(var e=0;e<r.coordinates.length;e++)if(!gs(r.coordinates[e],t))return!1;return!0}function Ly(r,t){var e=cn(t),i=cn(r);if(!qp(e,i))return!1;for(var n=!1,s=0;s<r.coordinates.length-1;s++){if(!Fi(r.coordinates[s],t))return!1;if(n||(n=Fi(r.coordinates[s],t,{ignoreBoundary:!0})),!n){var a=Fy(r.coordinates[s],r.coordinates[s+1]);n=Fi(a,t,{ignoreBoundary:!0})}}return n}function Ry(r,t){var e=cn(r),i=cn(t);if(!qp(i,e))return!1;for(var n=0;n<r.coordinates[0].length;n++)if(!Fi(r.coordinates[0][n],t))return!1;return!0}function qp(r,t){return!(r[0]>t[0]||r[2]<t[2]||r[1]>t[1]||r[3]<t[3])}function Wp(r,t){return r[0]===t[0]&&r[1]===t[1]}function Fy(r,t){return[(r[0]+t[0])/2,(r[1]+t[1])/2]}function Gy(r,t,e){e===void 0&&(e={});var i;e.final?i=Hp(Rr(t),Rr(r)):i=Hp(Rr(r),Rr(t));var n=i>180?-(360-i):i;return n}function Hp(r,t){var e=Cr(r[1]),i=Cr(t[1]),n=Cr(t[0]-r[0]);n>Math.PI&&(n-=2*Math.PI),n<-Math.PI&&(n+=2*Math.PI);var s=Math.log(Math.tan(i/2+Math.PI/4)/Math.tan(e/2+Math.PI/4)),a=Math.atan2(n,s);return(Bh(a)+360)%360}function ky(r,t,e,i){i===void 0&&(i={});var n=t<0,s=Pf(Math.abs(t),i.units,"meters");n&&(s=-Math.abs(s));var a=Rr(r),o=zy(a,s,e);return o[0]+=o[0]-a[0]>180?-360:a[0]-o[0]>180?360:0,ae(o,i.properties)}function zy(r,t,e,i){i=i===void 0?hr:Number(i);var n=t/i,s=r[0]*Math.PI/180,a=Cr(r[1]),o=Cr(e),l=n*Math.cos(o),u=a+l;Math.abs(u)>Math.PI/2&&(u=u>0?Math.PI-u:-Math.PI-u);var c=Math.log(Math.tan(u/2+Math.PI/4)/Math.tan(a/2+Math.PI/4)),h=Math.abs(c)>1e-11?l/c:Math.cos(a),f=n*Math.sin(o)/h,g=s+f;return[(g*180/Math.PI+540)%360-180,u*180/Math.PI]}function Vy(r,t){var e=yi(r),i=yi(t),n=e.type,s=i.type,a=e.coordinates,o=i.coordinates;switch(n){case"Point":switch(s){case"Point":return Df(a,o);default:throw new Error("feature2 "+s+" geometry not supported")}case"MultiPoint":switch(s){case"Point":return Uy(e,i);case"MultiPoint":return qy(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}case"LineString":switch(s){case"Point":return gs(i,e,{ignoreEndVertices:!0});case"LineString":return Xy(e,i);case"MultiPoint":return Wy(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}case"Polygon":switch(s){case"Point":return Fi(i,e,{ignoreBoundary:!0});case"LineString":return Yy(e,i);case"Polygon":return Jy(e,i);case"MultiPoint":return Hy(e,i);default:throw new Error("feature2 "+s+" geometry not supported")}default:throw new Error("feature1 "+n+" geometry not supported")}}function Uy(r,t){var e,i=!1;for(e=0;e<r.coordinates.length;e++)if(Df(r.coordinates[e],t.coordinates)){i=!0;break}return i}function qy(r,t){for(var e=0,i=t.coordinates;e<i.length;e++){for(var n=i[e],s=!1,a=0,o=r.coordinates;a<o.length;a++){var l=o[a];if(Df(n,l)){s=!0;break}}if(!s)return!1}return!0}function Wy(r,t){for(var e=!1,i=0,n=t.coordinates;i<n.length;i++){var s=n[i];if(gs(s,r,{ignoreEndVertices:!0})&&(e=!0),!gs(s,r))return!1}return!!e}function Hy(r,t){for(var e=0,i=t.coordinates;e<i.length;e++){var n=i[e];if(!Fi(n,r,{ignoreBoundary:!0}))return!1}return!0}function Xy(r,t){for(var e=!1,i=0,n=t.coordinates;i<n.length;i++){var s=n[i];if(gs({type:"Point",coordinates:s},r,{ignoreEndVertices:!0})&&(e=!0),!gs({type:"Point",coordinates:s},r,{ignoreEndVertices:!1}))return!1}return e}function Yy(r,t){var e=!1,i=0,n=cn(r),s=cn(t);if(!Xp(n,s))return!1;for(i;i<t.coordinates.length-1;i++){var a=Ky(t.coordinates[i],t.coordinates[i+1]);if(Fi({type:"Point",coordinates:a},r,{ignoreBoundary:!0})){e=!0;break}}return e}function Jy(r,t){if(r.type==="Feature"&&r.geometry===null||t.type==="Feature"&&t.geometry===null)return!1;var e=cn(r),i=cn(t);if(!Xp(e,i))return!1;for(var n=yi(t).coordinates,s=0,a=n;s<a.length;s++)for(var o=a[s],l=0,u=o;l<u.length;l++){var c=u[l];if(!Fi(c,r))return!1}return!0}function Xp(r,t){return!(r[0]>t[0]||r[2]<t[2]||r[1]>t[1]||r[3]<t[3])}function Df(r,t){return r[0]===t[0]&&r[1]===t[1]}function Ky(r,t){return[(r[0]+t[0])/2,(r[1]+t[1])/2]}/**
4
4
  * splaytree v3.1.2
5
5
  * Fast Splay tree for Node and browser
6
6
  *
@@ -45,7 +45,7 @@ northing meters`+r;var f=h/2,g=0,m=0,_,E,M,y,w;return f>0&&(_=1e5/Math.pow(10,f)
45
45
  ]
46
46
  ]
47
47
  \`\`\`
48
- `,vr=class vr extends d.Destroyable{constructor(){super();p(this,"_ratio",this.dv(d.react(0)));p(this,"_subPlayers",this.dv(new d.ObservableArray));const e=this.dv(new d.Player);{const a=()=>{e.loop=this.loop??vr.defaults.loop};a(),this.d(this.loopChanged.don(a))}{const a=()=>{(this.loop??vr.defaults.loop)!==e.loop&&(this.loop=e.loop)};a(),this.d(e.loopChangedEvent.don(a))}{const a=()=>{e.currentTime=this.currentTime??vr.defaults.currentTime};a(),this.d(this.currentTimeChanged.don(a))}{const a=()=>{(this.currentTime??vr.defaults.currentTime)!==e.currentTime&&(this.currentTime=e.currentTime)};a(),this.d(e.currentTimeChangedEvent.don(a))}{const a=()=>{e.duration=this.duration??vr.defaults.duration};a(),this.d(this.durationChanged.don(a))}{const a=()=>{(this.duration??vr.defaults.duration)!==e.duration&&(this.duration=e.duration)};a(),this.d(e.durationChangedEvent.don(a))}{const a=()=>{e.speed=this.speed??vr.defaults.speed};a(),this.d(this.speedChanged.don(a))}{const a=()=>{(this.speed??vr.defaults.speed)!==e.speed&&(this.speed=e.speed)};a(),this.d(e.speedChangedEvent.don(a))}{const a=()=>{e.playing=this.playing??vr.defaults.playing};a(),this.d(this.playingChanged.don(a))}{const a=()=>{(this.playing??vr.defaults.playing)!==e.playing&&(this.playing=e.playing)};a(),this.d(e.playingChangedEvent.don(a))}const i=()=>{const a=this.duration??vr.defaults.duration;a>0&&(this._ratio.value=(this.currentTime??vr.defaults.currentTime)/a)};i();const n=this.dv(d.createNextAnimateFrameEvent(this.currentTimeChanged,this.durationChanged));this.d(n.don(i)),this.d(()=>{const{length:a}=this._subPlayers;for(let o=0;o<a;++o)this._subPlayers.get(o).destroy();this._subPlayers.length=0});const s=()=>{for(let o of this._subPlayers)o.destroy();if(this._subPlayers.length=0,!this.channels)return;const a=this.channels.map(o=>{const[l,u,c]=o;return new UC(l,u,c,this)});this._subPlayers.splice(0,0,...a)};s(),this.d(this.channelsChanged.don(s))}get ratio(){return this._ratio.value}set ratio(e){Math.abs(this._ratio.value-e)<.001||(this.currentTime=(this.duration??vr.defaults.duration)*e)}get ratioChanged(){return this._ratio.changed}};p(vr,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),p(vr,"channelsReadMe",qC);let bn=vr;(r=>{r.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:d.reactDeepArrayWithUndefined(void 0,(t,e)=>t==null?void 0:t.every((i,n)=>i===e[n]),t=>[...t])})})(bn||(bn={})),d.extendClassProps(bn.prototype,bn.createDefaultProps);class Vd extends d.Destroyable{constructor(e){super();p(this,"_sceneObject",this.dv(d.react(void 0)));this._id=e,this.d(()=>{this._sceneObject.value=void 0});const i=ft.getSceneObjById(this._id);i&&(this._sceneObject.value=i),this.d(ft.context.sceneObjCreatedEvent.don(n=>{n.id===this._id&&(this._sceneObject.value=n)})),this.d(ft.context.sceneObjToDestroyEvent.don(n=>{n.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class WC extends d.Destroyable{constructor(e,i){super();p(this,"_sofi");this._id=e,this._sofi=this.dv(new Vd(this._id));{const n=()=>{i.sceneObject=this._sofi.sceneObject};n(),this.d(this._sofi.sceneObjectChanged.don(n))}}}class HC extends d.Destroyable{constructor(){super();p(this,"_id",this.dv(d.react(void 0)));p(this,"_sceneObject",this.dv(d.react(void 0)));p(this,"_resetting",this.dv(new d.ObjResettingWithEvent(this.idChanged,()=>{const{id:e}=this;if(e===void 0||e===""){this.sceneObject=void 0;return}return new WC(e,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(e){this._id.value=e}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(e){this._sceneObject.value=e}get resetting(){return this._resetting}}class XC extends d.Destroyable{constructor(t,e,i,n){super(),this.disposeVar(new d.ObjResettingWithEvent(t.sceneObjectChanged,()=>{let s;n.debug&&console.log("正在获取Event事件...");do{const a=t.sceneObject;if(!a||!e)break;const o=e.split(".");if(o.length===0){n.debug&&console.warn("propNames.length === 0");break}let l=d.pluckProperty(a,!1,...o);if((!l||!(l instanceof d.Event))&&(o[o.length-1]=o[o.length-1]+"Changed",n.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${o[o.length-1]})再试试!`),l=d.pluckProperty(a,!1,...o),n.debug&&l&&console.warn("event仍然获取不到!")),!l){n.debug&&console.warn(`cannot get changed from ${a.id}-${a.name}-${a.ref}-${e}`);break}if(!(l instanceof d.Event)){n.debug&&console.warn(`the prop is not event from ${a.id}-${a.name}-${a.ref}-${e}`);break}s=l,n.debug&&console.log(`Event获取成功 propChangedName: ${e}`,s)}while(!1);if(s){const a=new d.Destroyable;return a.d(s.dwon(()=>i.emit())),a}else{n.debug&&console.log(`未获取到Event!propChangedName: ${e}`);return}}))}}let YC=class extends d.Destroyable{constructor(e,i,n){super();p(this,"_doEvalEvent",this.dv(new d.Event));const s=this._doEvalEvent,a=this.disposeVar(d.createNextAnimateFrameEvent(s)),o=e.map(([l,u])=>{const c=new Vd(l),h=u&&new XC(c,u,s,i)||void 0;return[c,h]});this.d(()=>{o.forEach(([l,u])=>{u==null||u.destroy(),l.destroy()}),o.length=0}),this.d(s.don(()=>{const{evalMode:l="NextAnimateFrame",evalOnlyWhenObjsAllExist:u=!0}=i;if(l==="Immediate"){const c=o.map(([h])=>h.sceneObject);(!u||c.every(h=>h!==void 0))&&n(c)}})),this.d(a.don(()=>{const{evalMode:l="NextAnimateFrame",evalOnlyWhenObjsAllExist:u=!0}=i;if(l==="NextAnimateFrame"){const c=o.map(([h])=>h.sceneObject);(!u||c.every(h=>h!==void 0))&&n(c)}}))}forceExecute(){this._doEvalEvent.emit()}};const b0=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:YC},Symbol.toStringTag,{value:"Module"})),{WatcherObjects:JC}=b0;class kh extends d.Destroyable{constructor(){super();p(this,"_evalFunc");p(this,"_forceExecute",new d.Event);const e=this.dv(d.react(void 0)),i=()=>{try{e.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",e.value)}catch(a){console.error(`evalFunc get error! ${a}`),e.value=void 0}};i(),this.dispose(this.evalFuncStrChanged.disposableOn(i));const n=a=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(a),e.value&&e.value(a))},s=this.disposeVar(new d.ObjResettingWithEvent(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new JC(this.objIdAndPropChangedNames,this,n)}));this.dispose(this._forceExecute.disposableOn(()=>{var a;(a=s.obj)==null||a.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(e){this._evalFunc=e}forceExecute(){this._forceExecute.emit()}}(r=>{r.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:d.reactDeepArray([],(t,e)=>t[0]===e[0]&&t[1]===e[1],t=>[t[0],t[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:d.reactJson(void 0),devTags:d.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(kh||(kh={})),d.extendClassProps(kh.prototype,kh.createDefaultProps);function KC(r,t,e){var n;((n=t.viewer)==null?void 0:n.getEngineObject(t))?e.call(r):r.dispose(t.createdEvent.don(()=>e.call(r)))}const le=class le extends ft{constructor(e){super(e);p(this,"_editing",this.dv(d.react(!1)));p(this,"editingID");p(this,"editingBindMode","singlePoint");p(this,"_deprecated",[]);p(this,"_flyInEvent",this.dv(new d.Event));p(this,"_flyToEvent",this.dv(new d.Event));p(this,"_flyOverEvent",this.disposeVar(new d.Event));p(this,"_pickedEvent",this.dv(new d.Event));p(this,"_calcFlyToParamEvent",this.dv(new d.Event));p(this,"_calcFlyInParamEvent",this.dv(new d.Event));p(this,"useCalcFlyToParamInESObjectWithLocation",!1);E0(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(e){this._editing.value=e}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const e=this._deprecated;for(let i=0;i<e.length;i++){const n=e[i];typeof n=="string"?Reflect.has(this,n+"Changed")&&this.d(this[n+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${n} 属性下版本将会被移除!`)})):Object.keys(n).forEach(s=>{Reflect.has(this,s+"Changed")&&this.d(this[s+"Changed"].don(o=>{const l=n[s];typeof l=="string"?console.warn(`注意:${this.typeName} 的 ${s} 属性下版本将会被移除!`):Object.keys(l).forEach(u=>{o===u&&console.warn(`注意:${this.typeName} 的 ${s} 属性值 ${u} 下版本将会被移除,推荐使用属性值 ${l[u]}`)})}))})}}get flyInEvent(){return this._flyInEvent}flyIn(e=1){this._flyInEvent.emit(e,le._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(e=1){this._flyToEvent.emit(e,le._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(e){return await e.getBoundSphere(this.id)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"general",general:[...e.general,new nt("唯一标识","id",!1,!0,[this,"id"]),new nt("名称","name",!0,!1,[this,"name"]),new U("是否显示","show",!1,!1,[this,"show"],le.defaults.show),new U("开启碰撞","collision",!1,!1,[this,"collision"],le.defaults.collision),new U("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],le.defaults.allowPicking),new mt("保存观察视角","保存当前flyToParam",[],()=>this.calcFlyToParam(),[]),new mt("清空飞向参数","清空飞向参数",[],()=>this.emptyFlyToParam(),[]),new mt("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new mt("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[])]}}getProperties(e){return[...super.getProperties(e),new H("ESVisualObject","ESVisualObject",[new U("是否显示","是否显示.",!1,!1,[this,"show"],le.defaults.show),new U("是否开启碰撞监测","collision,是否开启碰撞监测.",!1,!1,[this,"collision"],le.defaults.collision),new U("是否允许拾取","是否允许被鼠标点击拾取.",!1,!1,[this,"allowPicking"],le.defaults.allowPicking),new H("飞行定位","飞向参数",[new mt("飞向","飞向",["number"],i=>this.flyTo(i),[1]),new Y("flyToParam","flyToParam",!0,!1,[this,"flyToParam"],le.defaults.flyToParam),new mt("获取当前参数","获取当前flyToParam",[],()=>this.calcFlyToParam(),[]),new C("flyToDistance","flyToDistance",!0,!1,[this,"flyToDistance"],le.defaults.flyToParam.distance),new C("flyToHeading","flyToHeading",!0,!1,[this,"flyToHeading"],le.defaults.flyToParam.heading),new C("flyToPitch","flyToPitch",!0,!1,[this,"flyToPitch"],le.defaults.flyToParam.pitch),new C("flyToFlyDuration","flyToFlyDuration",!0,!1,[this,"flyToFlyDuration"],le.defaults.flyToParam.flyDuration),new C("flyToHDelta","flyToHDelta",!0,!1,[this,"flyToHDelta"],le.defaults.flyToParam.hDelta),new C("flyToPDelta","flyToPDelta",!0,!1,[this,"flyToPDelta"],le.defaults.flyToParam.pDelta)]),new H("飞入定位","飞入参数",[new mt("飞入","飞入",["number"],i=>this.flyIn(i),[1]),new Y("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],le.defaults.flyInParam),new mt("获取当前相机参数","获取当前相机参数",[],()=>this.calcFlyInParam(),[])])])]}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,distance:e}:void 0}set flyToHeading(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,heading:e}:void 0}set flyToPitch(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,pitch:e}:void 0}set flyToFlyDuration(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,flyDuration:e}:void 0}set flyToHDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,hDelta:e}:void 0}set flyToPDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,pDelta:e}:void 0}};p(le,"supportEditingModes",[]),p(le,"_lastFlyInId",0),p(le,"_lastFlyToId",0),p(le,"defaults",{...ft.defaults,show:!0,collision:!0,allowPicking:!1,flyToParam:{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0},flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1}});let Ot=le;(r=>{r.createDefaultProps=()=>({...ft.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:d.reactJsonWithUndefined(void 0),flyInParam:d.reactJsonWithUndefined(void 0)})})(Ot||(Ot={})),d.extendClassProps(Ot.prototype,Ot.createDefaultProps);function T0(r){let t=0;function e(i,n){n++,t=Math.max(n,t),i.forEach(s=>{Array.isArray(s)&&e(s,n)})}return e(r,0),t}const Rs=class Rs extends Ot{constructor(e){super(e);p(this,"editingBindMode","lineString");p(this,"_area",this.dv(d.react(0)));p(this,"_perimeter",this.dv(d.react(0)));const i=()=>{this._updateArea(),this._updatePerimeter()};i(),this.d(this.pointsChanged.don(i))}updateEditing(){var i;const e=[];do{if(this.editingBindMode=="doublePoints"){e.push(vt.DoublePointsAppend,vt.DoublePointsModify);break}if(this.editingBindMode=="lineString"){e.push(vt.LineStringAppend,vt.LineStringInsert,vt.Translation);break}if(this.editingBindMode=="circular"){e.push(vt.CircularAppend,vt.CircularInsert,vt.Translation),this.supportEditingModes().includes(vt.HeightModify)&&e.push(vt.HeightModify);break}if(this.editingBindMode=="visibility"){e.push(vt.VisibilityAppend,vt.VisibilityModify);break}if(this.editingBindMode=="scatter"){e.push(vt.ScatterAppend,vt.ScatterModify);break}}while(!1);(i=this.viewer)==null||i.startEditing(this,e,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return cd([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const e=Fh(this.points,"GEODESIC");return e[e.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const e=[...this.points,this.points[0]],i=Fh(e,"GEODESIC");return i[i.length-1]}else return}getIntersect(e){if(this.points&&this.points.length>=3&&e.length>=3){const i=gm(this.points,e);if(!i)return;const n=i[0][0][0];if(Array.isArray(n)){const s=[...i],a=[];return s.forEach(o=>{const l=o[0].map(u=>[...u,0]);a.push(l)}),a}else return[[...i][0].map(o=>[...o,0])]}else return}getUnion(e){if(this.points&&this.points.length>=3&&e.length>=3){const i=mm(this.points,e);if(!i)return;const n=i[0][0][0];if(Array.isArray(n)){const s=[...i],a=[];return s.forEach(o=>{const l=o[0].map(u=>[...u,0]);a.push(l)}),a}else return[[...i][0].map(o=>[...o,0])]}else return}getDifference(e){if(this.points&&this.points.length>=3&&e.length>=3){let i=[...e];const n=e[0],s=e[e.length-1];n[0]===s[0]&&n[1]===s[1]&&n[2]===s[2]||i.push(n);const a=ym([...this.points,this.points[0]],[...i]);if(!a)return{status:"undefined",positions:void 0};const o=[...a];if(T0(o)===3){const l=o.map(f=>f.map(g=>[...g,0]));if(l.length<=1)return{status:"notIncluded",positions:l};const u=l[0],c=l[1];return dd([...u],[...c])==="oneBig"?{status:"included",positions:l}:{status:"notIncluded",positions:l}}else if(T0(o)===4){const u=[...o.map(h=>h.map(f=>f.map(g=>[...g,0])))],c=[];return u.forEach(h=>{c.push(h[0])}),{status:"notIncluded",positions:c}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(e=500,i){if(this.points&&this.points.length>=2){const n=vm(this.points,e,i);return n?[n[0].map(s=>[...s,0])]:void 0}else return}geoPolygonOverlap(e){if(this.points&&this.points.length>=3&&e.length>=3){const i=dd(this.points,e);return i==="oneBig"?!0:i==="twoBig"?!1:void 0}else return}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",coordinate:[...e.coordinate,new U("编辑","编辑",!1,!1,[this,"editing"],!1),new Y("位置数组","位置数组(经纬高数组)",!0,!1,[this,"points"],Rs.defaults.points)],style:[...e.style,new H("点样式","点样式集合",[]),new U("开启","开启点样式",!1,!1,[this,"pointed"],!1),new C("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new tt("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new it("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new it("轮廓颜色","轮廓颜色(pointOutlineColor)",!1,!1,[this,"pointOutlineColor"],Rs.defaults.pointStyle.outlineColor),new C("轮廓宽度","轮廓宽度(pointOutlineWidth)",!1,!1,[this,"pointOutlineWidth"],Rs.defaults.pointStyle.outlineWidth),new H("线样式","线样式集合",[]),new U("开启","开启线样式",!1,!1,[this,"stroked"],!0),new U("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new C("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new tt("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new it("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new H("面样式","面样式集合",[]),new U("开启","开启填充样式",!1,!1,[this,"filled"],!1),new U("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new it("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(e){return[...super.getProperties(e),new H("ESGeoVector","ESGeoVector",[new U("是否编辑","是否编辑",!1,!1,[this,"editing"]),new Y("位置数组","位置数组(经纬高数组)",!1,!1,[this,"points"]),new H("点样式","点样式",[new U("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new C("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new tt("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new it("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new it("轮廓颜色","轮廓颜色(pointOutlineColor)",!1,!1,[this,"pointOutlineColor"],Rs.defaults.pointStyle.outlineColor),new C("轮廓宽度","轮廓宽度(pointOutlineWidth)",!1,!1,[this,"pointOutlineWidth"],Rs.defaults.pointStyle.outlineWidth),new nt("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new Y("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new H("线样式","线样式",[new U("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new C("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new tt("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new it("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new nt("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new Y("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new U("是否贴地","是否贴地",!1,!1,[this,"strokeGround"])]),new H("填充样式","填充样式",[new U("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new it("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new nt("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new Y("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new U("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointOutlineColor(){return this.pointStyle.outlineColor}set pointOutlineColor(e){this.pointStyle={...this.pointStyle,outlineColor:[...e]}}get pointOutlineColorChanged(){return this.pointStyleChanged}get pointOutlineWidth(){return this.pointStyle.outlineWidth}set pointOutlineWidth(e){this.pointStyle={...this.pointStyle,outlineWidth:e}}get pointOutlineWidthChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}};p(Rs,"supportEditingModes",[...Ot.supportEditingModes,vt.Translation]),p(Rs,"defaults",{...Ot.defaults,points:[],pointStyle:{size:10,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1});let wt=Rs;(r=>{r.createDefaultProps=()=>({...Ot.createDefaultProps(),pointed:!1,pointStyle:d.reactJson(r.defaults.pointStyle),stroked:!1,strokeStyle:d.reactJson(r.defaults.strokeStyle),filled:!1,fillStyle:d.reactJson(r.defaults.fillStyle),points:d.reactPositions(void 0)})})(wt||(wt={})),d.extendClassProps(wt.prototype,wt.createDefaultProps);class $ extends Ot{constructor(){super(...arguments);p(this,"_statusDis",this.dv(d.react(!0)));p(this,"_smoothMoveEvent",this.dv(new d.Event));p(this,"_smoothMoveWithRotationEvent",this.dv(new d.Event));p(this,"_smoothMoveOnGroundEvent",this.dv(new d.Event));p(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new d.Event));p(this,"_automaticLandingEvent",this.dv(new d.Event));p(this,"_smoothMoveKeepPitchEvent",this.dv(new d.Event));p(this,"_smoothMoveRelativelyEvent",this.dv(new d.Event));p(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new d.Event));p(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var i;const e=[];do{if(this.editingBindMode=="singlePoint"){e.push(vt.Place,vt.Translation),["ESLocationMeasurement"].includes(this.typeName)||e.push(vt.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||e.push(vt.Scale);break}if(this.editingBindMode=="doublePoints"){e.push(vt.DoublePointsAppend,vt.DoublePointsModify);break}}while(!1);(i=this.viewer)==null||i.startEditing(this,e,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(e,i){this._smoothMoveEvent.emit(e,i)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(e,i,n){this._smoothMoveWithRotationEvent.emit(e,i,n)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(e,i,n,s){this._smoothMoveOnGroundEvent.emit(e,i,n,s)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(e,i,n,s,a){this._smoothMoveWithRotationOnGroundEvent.emit(e,i,n,s,a)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const e=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(e)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(e,i){this._smoothMoveKeepPitchEvent.emit(e,i)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(e,i){this._smoothMoveRelativelyEvent.emit(e,i)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(e,i,n){this._smoothMoveRelativelyWithRotationEvent.emit(e,i,n)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",location:[...e.location,new U("是否编辑","是否编辑",!1,!1,[this,"editing"]),new mt("自动落地","自动落地",[],()=>this.automaticLanding(),[]),new ln("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"],[0,0,0]),new Zh("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"],[0,0,0]),new Qe("缩放","缩放",!1,!1,[this,"scale"],[1,1,1]),new C("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"],0),new C("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"],0)]}}getProperties(e){return[...super.getProperties(e),new H("位置姿态对象","位置姿态对象ESObjectWithLocation",[new mt("平滑移动","smoothMove",["numbers","number"],(i,n)=>this.smoothMove(i,n),[[0,0,0],0]),new mt("固定方向平滑移动","smoothMoveKeepPitch",["numbers","number"],(i,n)=>this.smoothMoveKeepPitch(i,n),[[0,0,0],0]),new mt("平滑偏移","smoothMoveWithRotation",["numbers","numbers","number"],(i,n,s)=>this.smoothMoveWithRotation(i,n,s),[[0,0,0],[0,0,0],0]),new mt("贴地平滑移动","smoothMoveOnGround",["number","number","number","string"],(i,n,s,a)=>this.smoothMoveOnGround(i,n,s,a),[0,0,0,""]),new mt("贴地平滑偏移","smoothMoveWithRotationOnGround",["numbers","number","number","number","string"],(i,n,s,a,o)=>this.smoothMoveWithRotationOnGround(i,n,s,a,o),[[0,0,0],0,0,0,""]),new mt("smoothMoveRelatively","smoothMoveRelatively",["numbers","number"],(i,n)=>this.smoothMoveRelatively(i,n),[[0,0,0],0]),new mt("smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation",["numbers","numbers","number"],(i,n,s)=>this.smoothMoveRelativelyWithRotation(i,n,s),[[0,0,0],[0,0,0],0]),new ln("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"]),new Zh("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"]),new Qe("缩放","缩放",!1,!1,[this,"scale"]),new U("是否编辑","是否开启编辑状态",!0,!1,[this,"editing"],!1),new C("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"]),new C("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"]),new U("是否应用距离显隐","是否应用距离显隐",!1,!1,[this,"enableVisibleDistance"])])]}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}}p($,"supportEditingModes",[...Ot.supportEditingModes,vt.Place,vt.Translation,vt.Rotation,vt.Scale,vt.DoublePointsAppend,vt.DoublePointsModify]),p($,"defaults",{...Ot.defaults,pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},pointed:!1}),(r=>{r.createDefaultProps=()=>({...Ot.createDefaultProps(),pointed:!1,pointStyle:d.reactJson(r.defaults.pointStyle),position:d.reactArray([0,0,0]),rotation:d.reactArray([0,0,0]),scale:d.reactArray([1,1,1]),minVisibleDistance:d.react(0),maxVisibleDistance:d.react(0)})})($||($={})),d.extendClassProps($.prototype,$.createDefaultProps);class Tn extends ${getESProperties(){const t={...super.getESProperties()};return{...t,style:[...t.style,new H("点样式","点样式集合",[]),new U("开启点样式","开启点样式",!1,!1,[this,"pointed"],!1),new C("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new tt("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new it("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new H("线样式","线样式集合",[]),new U("开启线样式","开启线样式",!1,!1,[this,"stroked"],!1),new U("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new C("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new tt("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new it("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new H("面样式","面样式集合",[]),new U("开启填充样式","开启填充样式",!1,!1,[this,"filled"],!1),new U("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new it("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new H("ESLocalVector","ESLocalVector",[new Y("点样式","点样式(pointMaterialParams)",!1,!1,[this,"pointStyle"]),new Y("线样式","线样式(strokeMaterialParams)",!1,!1,[this,"strokeStyle"]),new Y("填充样式","填充样式(fillMaterialParams)",!1,!1,[this,"fillStyle"]),new H("点样式","点样式",[new U("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new C("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new tt("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new it("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new nt("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new Y("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new H("线样式","线样式",[new U("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new C("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new tt("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new it("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new nt("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new Y("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new U("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1)]),new H("填充样式","填充样式",[new U("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new it("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new nt("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new Y("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new U("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}}p(Tn,"defaults",{...$.defaults,pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1}),(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),pointed:!1,pointStyle:d.reactJson(r.defaults.pointStyle),stroked:!1,strokeStyle:d.reactJson(r.defaults.strokeStyle),filled:!1,fillStyle:d.reactJson(r.defaults.fillStyle)})})(Tn||(Tn={})),d.extendClassProps(Tn.prototype,Tn.createDefaultProps);class Yr extends Tn{getESProperties(){return{...super.getESProperties()}}getProperties(t){return[...super.getProperties(t)]}}p(Yr,"defaults",{...Tn.defaults}),(r=>{r.createDefaultProps=()=>({...Tn.createDefaultProps()})})(Yr||(Yr={})),d.extendClassProps(Yr.prototype,Yr.createDefaultProps);const D0=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],x0=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]];class Re extends ${constructor(){super(...arguments);p(this,"_widgetEvent",this.dv(new d.Event))}get widgetEvent(){return this._widgetEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new U("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new U("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new se("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new se("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new se("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new tt("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],x0,0),new tt("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],D0,1),new nt("绑定对象","actorTag",!1,!1,[this,"actorTag"]),new nt("插槽名称","socketName",!1,!1,[this,"socketName"]),new Qe("位置偏移","positionOffset(米)",!1,!1,[this,"positionOffset"]),new Qe("相对姿态","rotationOffset(米)",!1,!1,[this,"rotationOffset"])]}}getProperties(e){return[...super.getProperties(e),new H("标签属性","标签对象ESLabel的属性",[new U("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new U("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new se("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new se("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new se("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new tt("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],x0,0),new tt("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],D0,1),new C("排序","zOrder排序",!1,!1,[this,"zOrder"],0)])]}}p(Re,"defaults",{...$.defaults,screenRender:!0,size:[100,100],anchor:[.5,.5],sizeByContent:!0,renderMode:0,rotationType:1}),(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),screenRender:!0,size:d.reactArray([100,100]),anchor:d.reactArray([.5,1]),offset:d.reactArray([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:d.reactArray([0,0,0]),rotationOffset:d.reactArray([0,0,0])})})(Re||(Re={})),d.extendClassProps(Re.prototype,Re.createDefaultProps);const Lu=class Lu extends ft{constructor(t){super(t)}};p(Lu,"properties",{show:!0,fillStyle:d.reactJson({color:[1,1,1,1],material:"",materialParams:{},ground:!1})}),p(Lu,"type",Lu.register1(Lu,{chsName:"测试",tags:["ESObjects"],description:""}));let Ud=Lu;const Jr=class Jr extends Ot{constructor(e){super(e);p(this,"_refreshTilesetEvent",this.dv(new d.Event));p(this,"_tilesetReadyEvent",this.dv(new d.Event));p(this,"_supportEdit",this.dv(d.react(!0)));p(this,"_highlightFeatureEvent",this.dv(new d.Event));p(this,"_highlightFeatureAndFlyToEvent",this.dv(new d.Event));p(this,"_strokeFeatureEvent",this.disposeVar(new d.Event));p(this,"_getFeatureTableEvent",this.dv(new d.Event));p(this,"_featureTableResultEvent",this.dv(new d.Event));p(this,"_getMaterialNameListEvent",this.disposeVar(new d.Event));p(this,"_setFeatureStyleEvent",this.dv(new d.Event));p(this,"_setFeatureColorEvent",this.dv(new d.Event));p(this,"_setFeatureVisableEvent",this.dv(new d.Event));p(this,"_resetFeatureStyleEvent",this.dv(new d.Event));p(this,"setMaterialInfoEvent",this.ad(new d.Event));p(this,"_setMaterialEvent",this.disposeVar(new d.Event));p(this,"_clippingPlanesId",this.dv(d.react("")));p(this,"_clippingPlaneIds",this.dv(d.react([])));p(this,"_flattenedPlaneId",this.dv(d.react("")));p(this,"_flattenedPlaneEnabled",this.dv(d.react(!1)));p(this,"_clippingPlaneId",this.dv(d.react("")));p(this,"_excavateId",this.dv(d.reactArray([])))}get typeName(){return"ES3DTileset"}get defaultProps(){return Jr.createDefaultProps()}updateEditing(){var e;(e=this.viewer)==null||e.startEditing(this,[vt.Translation,vt.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(e){this._supportEdit.value=e}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(e,i){this._highlightFeatureEvent.emit(e,i)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(e,i,n,s){this._highlightFeatureAndFlyToEvent.emit(e,i,n,s)}get strokeFeatureEvent(){return this._strokeFeatureEvent}strokeFeature(e,i=[1,0,0,1]){this._strokeFeatureEvent.emit(e,i)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(e=>{const i=this.d(this._featureTableResultEvent.donce(e));this._getFeatureTableEvent.emit(),setTimeout(()=>{i(),e(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(e=>{const i=new d.Destroyable;i.d(this.getMaterialNameListEvent.don(n=>{n!=="start"&&(i.destroy(),e(n))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{i.isDestroyed()||(i.destroy(),e(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(e){this._setFeatureStyleEvent.emit(e)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(e,i){this._setFeatureColorEvent.emit(e,typeof i=="string"?JSON.parse(i):i)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(e,i){this._setFeatureVisableEvent.emit(e,typeof i=="string"?JSON.parse(i):i)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){return new Promise(i=>{const n=new d.Destroyable;n.ad(this.setMaterialInfoEvent.donce(s=>{n.destroy(),i(s)})),this._setMaterialEvent.emit(e)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(e){this._clippingPlanesId.value=e}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(e){this._clippingPlaneIds.value=e}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(e){this._flattenedPlaneId.value=e}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(e){this._flattenedPlaneEnabled.value=e}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(e){this._clippingPlaneId.value=e}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(e){this._excavateId.value=e}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={...Fd}}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new Kt("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new tt("材质模式","materialMode",!0,!1,[this,"materialMode"],Jr.defaults.materialModes,"normal"),new tt("颜色模式","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"HIGHLIGHT"),new Y("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],Jr.defaults.materialOverrideMap)],dataSource:[...e.dataSource,new Y("服务地址","服务地址",!0,!1,[this,"url"],Jr.defaults.url)],coordinate:[...e.coordinate,new U("编辑","编辑",!0,!1,[this,"editing"],!1),new Qe("偏移","偏移量",!0,!1,[this,"offset"],[0,0,0]),new Zh("旋转","旋转",!1,!1,[this,"rotation"],[0,0,0])]}}getProperties(e){return[...super.getProperties(e),new H("ES3DTileset","ES3DTileset",[new Y("服务地址","服务地址",!1,!1,[this,"url"],Jr.defaults.url),new tt("materialMode","materialMode",!1,!1,[this,"materialMode"],Jr.defaults.materialModes),new Y("materialParams","materialParams",!1,!1,[this,"materialParams"],Jr.defaults.materialParams),new C("maximumScreenSpaceError","显示精度,maximumScreenSpaceError",!1,!1,[this,"maximumScreenSpaceError"]),new U("编辑","编辑",!1,!1,[this,"editing"],!1),new ln("offset","offset",!0,!1,[this,"offset"]),new ln("rotation","rotation",!1,!1,[this,"rotation"]),new Kt("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new mt("highlightFeature","highlightFeature",["string","string"],(i,n)=>this.highlightFeature(i,n),["","rgba(255,0,0,1)"]),new mt("setFeatureColor","setFeatureColor",["string","string"],(i,n)=>this.setFeatureColor(i,n),["",""]),new mt("setFeatureVisable","setFeatureVisable",["string","string"],(i,n)=>this.setFeatureVisable(i,n),["",""]),new mt("resetFeatureStyle","resetFeatureStyle",[],()=>this.resetFeatureStyle(),[]),new H("ue","ue",[new mt("refreshTileset","refreshTileset",[],()=>this.refreshTileset(),[]),new nt("actorTag","actorTag",!1,!1,[this,"actorTag"]),new U("是否高亮","是否高亮.",!1,!1,[this,"highlight"]),new it("highlightColor"," highlightColor.",!1,!1,[this,"highlightColor"]),new C("highlightID","highlightID",!1,!1,[this,"highlightID"]),new Y("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],Jr.defaults.materialOverrideMap)]),new H("czm","czm",[new H("可视化","可视化",[new se("czmImageBasedLightingFactor","反射强度 ,imageBasedLightingFactor",!1,!1,[this,"czmImageBasedLightingFactor"]),new C("czmAtmosphereScatteringIntensity","大气散射强度 ,atmosphereScatteringIntensity",!1,!1,[this,"czmAtmosphereScatteringIntensity"]),new Y("czmEnvironmentMapManager","动态环境贴图管理器",!1,!1,[this,"czmEnvironmentMapManager"]),new C("czmMaximumMemoryUsage","最大内存,maximumMemoryUsage",!1,!1,[this,"czmMaximumMemoryUsage"])]),new H("常用","常用",[new tt("czmClassificationType","Determines whether terrain, 3D Tiles or both will be classified by this tileset. See Cesium3DTileset#czmClassificationType for details about restrictions and limitations.",!0,!1,[this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]]),new Y("czmStyle","czmStyle",!1,!1,[this,"czmStyleJson"]),new U("czmBackFaceCulling","czmBackFaceCulling",!1,!1,[this,"czmBackFaceCulling"]),new U("czmSkipLevelOfDetail","czmSkipLevelOfDetail",!1,!1,[this,"czmSkipLevelOfDetail"]),new tt("colorBlendMode","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["HIGHLIGHT","HIGHLIGHT"],["REPLACE","REPLACE"],["MIX","MIX"]],"HIGHLIGHT"),new C("cacheBytes","最大缓存占用,超过的会自动卸载,但是视野范围内能看见的保留。单位字节。Cesium1.110(含)以后的版本起作用。",!1,!1,[this,"cacheBytes"],536870912)]),new H("调试信息","调试信息",[new U("czmDebugShowBoundingVolume","For debugging only.When true, renders the bounding volume for each tile.",!1,!1,[this,"czmDebugShowBoundingVolume"]),new U("czmDebugShowContentBoundingVolume","czmDebugShowContentBoundingVolume.",!1,!1,[this,"czmDebugShowContentBoundingVolume"])]),new H("clippingPlanes","clippingPlanes",[new U("clippingPlaneEnabled","clippingPlaneEnabled",!1,!1,[this,"clippingPlaneEnabled"]),new U("unionClippingRegions","unionClippingRegions",!1,!1,[this,"unionClippingRegions"]),new it("clippingPlaneEdgeColor","clippingPlaneEdgeColor",!1,!1,[this,"clippingPlaneEdgeColor"]),new C("clippingPlaneEdgeWidth","clippingPlaneEdgeWidth",!1,!1,[this,"clippingPlaneEdgeWidth"])])])])]}};p(Jr,"type",Jr.register("ES3DTileset",Jr,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),p(Jr,"supportEditingModes",[...Ot.supportEditingModes,vt.Translation,vt.Rotation]),p(Jr,"defaults",{...Ot.defaults,url:"",actorTag:"",materialMode:"normal",materialModes:[["常规","normal"],["科技感","technology"]],offset:[0,0,0],materialParams:{baseColor:[0,.5,1]},cacheBytes:536870912,materialOverrideMap:{},featureIdLabel:0,splitDirection:"NONE",splitDirectionEnum:[["LEFT","LEFT"],["NONE","NONE"],["RIGHT","RIGHT"]]});let Je=Jr;(r=>{r.createDefaultProps=()=>({...Ot.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:d.reactArray([1,0,0,1]),offset:d.reactArrayWithUndefined(void 0),rotation:d.reactArray([0,0,0]),czmImageBasedLightingFactor:d.reactArray([1,1]),czmEnvironmentMapManager:d.reactJsonWithUndefined(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:d.reactJson({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:536870912,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:d.reactArray([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:d.reactJsonWithUndefined(void 0),featureIdLabel:0,splitDirection:"NONE"})})(Je||(Je={})),d.extendClassProps(Je.prototype,Je.createDefaultProps);const Fs=class Fs extends ${constructor(e){super(e);p(this,"_isFlyInCreated",this.dv(d.react(!1)));p(this,"_readyEvent",this.dv(new d.Event));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position){const n=this.dv(d.createNextAnimateFrameEvent(this.positionChanged,this.editingChanged));this.d(n.donce(()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()}))}else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get typeName(){return"ESAlarm"}get defaultProps(){return Fs.createDefaultProps()}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(e){this._isFlyInCreated.value=e}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}get readyEvent(){return this._readyEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new tt("模式","mode",!1,!1,[this,"mode"],Fs.defaults.modes,"cylinder"),new C("半径","radius",!1,!1,[this,"radius"],10)]}}getProperties(e){return[...super.getProperties(e),new H("通用","通用",[new tt("mode","mode",!1,!1,[this,"mode"],Fs.defaults.modes),new C("半径","radius",!1,!1,[this,"radius"])])]}};p(Fs,"type",Fs.register("ESAlarm",Fs,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"})),p(Fs,"defaults",{...$.defaults,modes:[["柱状警告","cylinder"],["圆形警告","circle"]],radius:10,czmAnimations:[{index:0,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}]});let ro=Fs;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),mode:"cylinder",radius:10})})(ro||(ro={})),d.extendClassProps(ro.prototype,ro.createDefaultProps);const xn=class xn extends ${get typeName(){return"ESApertureEffect"}get defaultProps(){return xn.createDefaultProps()}constructor(t){super(t),this.collision=!1}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new C("半径","radius",!1,!1,[this,"radius"],1),new tt("模式","mode",!1,!1,[this,"mode"],xn.defaults.modes,xn.defaults.mode)]}}getProperties(t){return[...super.getProperties(t),new C("半径","radius",!1,!1,[this,"radius"]),new tt("模式","mode",!1,!1,[this,"mode"],xn.defaults.modes,xn.defaults.mode)]}};p(xn,"type",xn.register("ESApertureEffect",xn,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"})),p(xn,"defaults",{...$.defaults,radius:1,mode:"scan",modes:[["扫描","scan"],["扩散","diffuse"]]});let io=xn;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),radius:1,mode:"scan"})})(io||(io={})),d.extendClassProps(io.prototype,io.createDefaultProps);const Di=class Di extends wt{constructor(e){super(e);p(this,"editingBindMode","circular");this.collision=Di.defaults.collision,this.filled=Di.defaults.filled,this.stroked=Di.defaults.stroked,this.fillStyle=Di.defaults.fillStyle,this.strokeStyle=Di.defaults.strokeStyle}get typeName(){return"ESGeoPolygon"}get defaultProps(){return Di.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new C("面积","面积",!1,!0,[this,"area"]),new C("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(e){return[...super.getProperties(e),new H("ESGeoPolygon","ESGeoPolygon",[new C("面积","面积",!1,!0,[this,"area"]),new C("周长","周长",!1,!0,[this,"perimeter"])])]}};p(Di,"type",Di.register("ESGeoPolygon",Di,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),p(Di,"supportEditingModes",[...wt.supportEditingModes,vt.CircularAppend,vt.CircularInsert]),p(Di,"defaults",{...wt.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{},ground:!1},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},filled:!0,stroked:!1,collision:!1});let At=Di;(r=>{r.createDefaultProps=()=>({...wt.createDefaultProps()})})(At||(At={})),d.extendClassProps(At.prototype,At.createDefaultProps);const On=class On extends At{get typeName(){return"ESAreaMeasurement"}get defaultProps(){return On.createDefaultProps()}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:On.defaults.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle??On.defaults.fillStyle,materialParams:t??On.defaults.fillStyle.materialParams}}constructor(t){super(t),this.fillStyle.ground=!0,this.strokeStyle.width=2}getProperties(t){return[...super.getProperties(t)]}};p(On,"type",On.register("ESAreaMeasurement",On,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"面积测量"})),p(On,"defaults",{...At.defaults,fillStyle:{color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!1},unitsMode:[["平方米_平方千米","SquareMeter_SquareKilometer"],["亩_公顷","MU_Hectare"],["周长米_周长千米","PerimeterMeter_PerimeterKilometer"]]}),p(On,"createDefaultProps",()=>({...At.createDefaultProps(),stroked:!0,filled:!0,units:d.reactArray(["SquareMeter_SquareKilometer","MU_Hectare","PerimeterMeter_PerimeterKilometer"])}));let zh=On;d.extendClassProps(zh.prototype,zh.createDefaultProps);const _l=class _l extends ${get typeName(){return"ESBlastParticleSystem"}get defaultProps(){return _l.createDefaultProps()}constructor(t){super(t)}getESProperties(){return{...{...super.getESProperties()},defaultMenu:"general"}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new H("czm","czm",[new qu("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!1,!1,[this,"image"]),new Qe("偏移","translation",!1,!1,[this,"translation"])])])]}};p(_l,"type",_l.register("ESBlastParticleSystem",_l,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"})),p(_l,"defaults",{...$.defaults,image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:[0,0,0]});let no=_l;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",positionEditing:void 0,translation:d.reactArray([0,0,0])})})(no||(no={})),d.extendClassProps(no.prototype,no.createDefaultProps);const yr=class yr extends ${get typeName(){return"ESBoxClipping"}get defaultProps(){return{...yr.createDefaultProps()}}constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new U("反转","reverse",!1,!1,[this,"reverse"],yr.defaults.reverse),new Qe("尺寸","长宽高",!1,!1,[this,"size"],yr.defaults.size),new it("边框颜色","edgeColor",!1,!1,[this,"edgeColor"],yr.defaults.edgeColor),new C("边框宽度","edgeWidth",!1,!1,[this,"edgeWidth"],yr.defaults.edgeWidth),new nt("瓦片图层","targetID",!1,!1,[this,"targetID"],yr.defaults.targetID)]}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new U("reverse","reverse",!1,!1,[this,"reverse"],yr.defaults.reverse),new it("edgeColor","edgeColor",!1,!1,[this,"edgeColor"],yr.defaults.edgeColor),new C("edgeWidth","edgeWidth",!1,!1,[this,"edgeWidth"],yr.defaults.edgeWidth),new Qe("尺寸","长宽高",!1,!1,[this,"size"],yr.defaults.size),new nt("targetID","targetID",!1,!1,[this,"targetID"],yr.defaults.targetID)])]}};p(yr,"type",yr.register("ESBoxClipping",yr,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"})),p(yr,"defaults",{...$.defaults,reverse:!1,edgeColor:[1,1,1,1],edgeWidth:1,size:[10,10,10],targetID:""});let so=yr;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),reverse:!1,edgeColor:d.reactArray([1,1,1,1]),edgeWidth:2,size:d.reactArray([10,10,10]),targetID:""})})(so||(so={})),d.extendClassProps(so.prototype,so.createDefaultProps);const Gs=class Gs extends ${constructor(){super(...arguments);p(this,"_thumbnail",this.dv(d.react("")));p(this,"_duration",this.dv(d.react(1)));p(this,"_resetWithCurrentCameraEvent",this.dv(new d.Event));p(this,"_captureEvent",this.dv(new d.Event))}get typeName(){return"ESCameraView"}get defaultProps(){return Gs.createDefaultProps()}get thumbnail(){return this._thumbnail.value}set thumbnail(e){this._thumbnail.value=e}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(e){this._duration.value=e}get durationChanged(){return this._duration.changed}flyIn(e=1,i="default"){this.flyInEvent.emit(e,-1,i)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(e,i){this._captureEvent.emit(e,i)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getProperties(e){return[...super.getProperties(e),new H("ESCameraView","ESCameraView",[new mt("设置为当前视角","resetWithCurrentCamera",[],()=>this.resetWithCurrentCamera(),[]),new mt("获取缩略图","获取缩略图",["number","number"],(i,n)=>this.capture(i,n),[Gs.defaults.thumbnailWidth,Gs.defaults.thumbnailHeight]),new nt("缩略图","缩略图",!0,!1,[this,"thumbnail"]),new C("飞行时间","飞行时间(秒)",!0,!1,[this,"duration"])])]}};p(Gs,"type",Gs.register("ESCameraView",Gs,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"})),p(Gs,"defaults",{...$.defaults,thumbnailWidth:64,thumbnailHeight:64,duration:1,thumbnail:""});let ya=Gs;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps()})})(ya||(ya={})),d.extendClassProps(ya.prototype,ya.createDefaultProps);class $c extends d.Destroyable{constructor(e,i,n){super();p(this,"_view",this.dv(new ya));if(this.d(e.components.disposableAdd(this._view)),this._view.name=(n==null?void 0:n.name)??`视角${e.views.length+1}`,i){const o=this._view,l=i;o.duration=l.duration??1,o.position=l.position,o.rotation=l.rotation??[0,0,0],o.thumbnail=l.thumbnail??"",o.name=l.name}else{const o=(n==null?void 0:n.size)??[64,64];this.d(d.nextAnimateFrame(()=>{this._view.resetWithCurrentCamera(),this._view.capture(o[0],o[1])}))}const s=this._view,a=this.dv(d.createNextAnimateFrameEvent(s.durationChanged,s.positionChanged,s.rotationChanged,s.thumbnailChanged,s.nameChanged));this.d(a.don(()=>e.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const e=this._view;return{duration:e.duration,position:e.position,rotation:e.rotation,thumbnail:e.thumbnail,name:e.name}}}const Kr=class Kr extends ft{constructor(e){super(e);p(this,"_currentViewIndex",this.dv(d.react(-1)));p(this,"_viewWrappers",this.dv(new d.ObservableArray));p(this,"_currentViewWrapper",this.dv(d.react(void 0)));p(this,"_container",this.dv(d.react(void 0)));{const i=this.dv(d.createProcessingFromAsyncFunc(async s=>{var a;do{if(!this.flyToNextView())break;const o=this.intervalTime??Kr.defaults.intervalTime,u=((((a=this._currentViewWrapper.value)==null?void 0:a.viewInfo.duration)??0)+o)*1e3;await s.promise(d.sleep(u))}while(!0);this.playing=!1})),n=()=>{this.playing?i.restart():i.cancel()};n(),this.d(this.playingChanged.don(n))}{const i=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};i(),this.d(this._viewWrappers.changedEvent.don(i))}{const i=()=>{const n=this._currentViewWrapper.value;this._currentViewIndex.value=n?this._getIndex(n):-1};i(),this.d(this._viewWrappers.changedEvent.don(i)),this.d(this._currentViewWrapper.changed.don(i))}this.d(()=>{this.clearAllViews()})}get typeName(){return"ESCameraViewCollection"}get defaultProps(){return Kr.createDefaultProps()}get json(){return{...this._innerGetJson(),views:this.views}}set json(e){this._innerSetJson(e),this.views=e.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(e){this._container.value=e}get views(){return dp(this._viewWrappers,e=>e.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(e){if(e.length===this._viewWrappers.length){const i=this._viewWrappers;if(e.every((n,s)=>{const a=i.get(s).view;return n.duration===a.duration&&_f(n.position,a.position)&&_f(n.rotation,a.rotation)&&n.thumbnail===a.thumbnail&&n.name===a.name}))return}this.clearAllViews();for(let i of e)this._viewWrappers.push(new $c(this,i))}_getIndex(e){return this._viewWrappers.indexOf(e)}clearAllViews(){for(let e of this._viewWrappers)e.destroy();this._viewWrappers.length=0}add(e=`视角${this.views.length+1}`,i=[64,64]){this._viewWrappers.push(new $c(this,void 0,{name:e,size:i}))}update(e,i,n=[64,64]){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const s=this._viewWrappers.get(e);return i&&(s.view.name=i),s.view.resetWithCurrentCamera(),s.view.capture(n[0],n[1]),!0}addView(){this._viewWrappers.push(new $c(this))}insertView(e){if(this._viewWrappers.length+1<=e||e<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(e,0,new $c(this))}setCurrentView(e){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(e);return this._currentViewWrapper.value=i,!0}resetView(e){if(e>=this._viewWrappers.length||e<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(e);i.view.resetWithCurrentCamera(),i.view.capture()}resetViewName(e,i){if(e>=this._viewWrappers.length||e<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const n=this._viewWrappers.get(e);n.view.name=i}updateView(e,i){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const n=this._viewWrappers.get(e);return n.view.position=i.position,n.view.rotation=i.rotation??[0,0,0],n.view.duration=i.duration??1,n.view.thumbnail=i.thumbnail??"",n.view.name=i.name??"",!0}flyToView(e){if(this.setCurrentView(e)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const i=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(i,this.flyMode??Kr.defaults.flyMode)}}flyToPrevView(){const e=this._currentViewWrapper.value;if(!e)return this.flyToView(0),!0;const i=this._getIndex(e);return this.loop??Kr.defaults.loop?(this.flyToView((this._viewWrappers.length+i-1)%this._viewWrappers.length),!0):i-1<0?!1:(this.flyToView(i-1),!0)}moveToPreView(){const e=this._currentViewWrapper.value;if(!e)return;const i=this._getIndex(e);if(i===0)return;const n=this._viewWrappers.splice(i-1,1,e)[0];this._viewWrappers.set(i,n)}moveToNextView(){const e=this._currentViewWrapper.value;if(!e)return;const i=this._getIndex(e);if(i===this._viewWrappers.length-1)return;const n=this._viewWrappers.splice(i+1,1,e)[0];this._viewWrappers.set(i,n)}flyToNextView(){const e=this._currentViewWrapper.value;if(!e)return this.flyToView(0),!0;const i=this._getIndex(e);return this.loop??Kr.defaults.loop?(this.flyToView((i+1)%this._viewWrappers.length),!0):i+1>this._viewWrappers.length-1?!1:(this.flyToView(i+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(e){if(e<0||e>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(e).destroy(),this._viewWrappers.splice(e,1)}deleteCurrentView(){const e=this._currentViewWrapper.value;if(!e){console.warn("!this._currentViewWrapper.value");return}const i=this._getIndex(e);if(i===-1){console.warn("index === -1");return}this.deleteView(i)}transitionImageUrl(e){return ft.context.getStrFromEnv(e)}getProperties(e){return[...super.getProperties(e),new H("ESCameraViewCollection","ESCameraViewCollection",[new tt("飞行模式","flyMode",!1,!1,[this,"flyMode"],Kr.defaults.flyModes,Kr.defaults.flyMode),new mt("添加视角","添加视角",[],()=>this.addView(),[]),new mt("插入视角","插入视角",["number"],i=>this.insertView(i),[0]),new mt("清空所有视角","清空所有视角",[],()=>this.clearAllViews(),[]),new mt("当前位置插入视角","当前位置插入视角",[],()=>this.insertView(this.currentViewIndex+1),[]),new mt("上一个视角","上一个视角",[],()=>this.flyToPrevView(),[]),new mt("下一个视角","下一个视角",[],()=>this.flyToNextView(),[]),new mt("当前视角移动到上一个视角","当前视角移动到上一个视角",[],()=>this.moveToPreView(),[]),new mt("当前视角移动到下一个视角","当前视角移动到下一个视角",[],()=>this.moveToNextView(),[]),new mt("飞入指定视角","飞入指定视角",["number"],i=>this.flyToView(i),[0]),new mt("设置当前视角","设置当前视角",["number"],i=>this.setCurrentView(i),[0]),new mt("删除当前视角","删除当前视角",[],()=>this.deleteCurrentView(),[]),new mt("删除指定视角","删除指定视角",["number"],i=>this.deleteView(i),[0]),new mt("重置视角","重置视角",["number"],i=>this.resetView(i),[0]),new C("当前序号","当前序号",!1,!0,[this,"currentViewIndex"]),new hp("播放","播放",[this,"playing"],()=>this.stop(),[this,"loop"],Kr.defaults),new U("是否播放","是否播放.",!1,!1,[this,"playing"]),new mt("停止","停止",[],()=>this.stop(),[]),new U("是否循环","是否循环.",!1,!1,[this,"loop"]),new C("间隔时间","间隔时间(s)",!1,!1,[this,"intervalTime"]),new Y("视角集合","类型为ESJViewInfo[]",!0,!1,[this,"views"],Kr.defaults.views)])]}};p(Kr,"type",Kr.register("ESCameraViewCollection",Kr,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"})),p(Kr,"defaults",{...ft.defaults,loop:!0,playing:!1,intervalTime:5,duration:1,views:[],flyMode:"default",flyModes:[["默认","default"],["直线飞行","uniform"]]});let _a=Kr;(r=>{r.createDefaultProps=()=>({...ft.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})})(_a||(_a={})),d.extendClassProps(_a.prototype,_a.createDefaultProps);const wl=class wl extends ${constructor(e){super(e);p(this,"editingBindMode","doublePoints")}get typeName(){return"ESCameraVisibleRange"}get defaultProps(){return wl.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new C("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],1.77778),new C("横向夹角","fov",!1,!1,[this,"fov"],90),new C("视野长度","far",!1,!1,[this,"far"],100),new C("近面距离","near",!1,!1,[this,"near"],5)]}}getProperties(e){return[...super.getProperties(e),new C("横向夹角","fov",!1,!1,[this,"fov"]),new C("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new C("视野长度","far",!1,!1,[this,"far"]),new C("近面距离","near",!1,!1,[this,"near"])]}};p(wl,"type",wl.register("ESCameraVisibleRange",wl,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"})),p(wl,"defaults",{...$.defaults,fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1});let ao=wl;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})})(ao||(ao={})),d.extendClassProps(ao.prototype,ao.createDefaultProps);const ks=class ks extends ${get typeName(){return"ESCar"}get defaultProps(){return ks.createDefaultProps()}constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new tt("模式","mode",!1,!1,[this,"mode"],ks.defaults.modeEnum,"policeCar")]}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new tt("mode","mode",!1,!1,[this,"mode"],ks.defaults.modeEnum)])]}};p(ks,"type",ks.register("ESCar",ks,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"})),p(ks,"defaults",{...$.defaults,modeEnum:[["警车","policeCar"]],mode:"policeCar"});let oo=ks;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),mode:"policeCar",allowPicking:!0})})(oo||(oo={})),d.extendClassProps(oo.prototype,oo.createDefaultProps);const Ca=class Ca extends wt{constructor(e){super(e);p(this,"editingBindMode","circular");this.fillGround=!0}get typeName(){return"ESClassification"}get defaultProps(){return Ca.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new C("高度","高度",!1,!1,[this,"height"],10)],coordinate:[...e.coordinate,new C("面积","面积",!1,!0,[this,"area"]),new C("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(e){return[...super.getProperties(e),new H("通用","通用",[new C("高度","高度",!1,!1,[this,"height"])])]}};p(Ca,"type",Ca.register("ESClassification",Ca,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),p(Ca,"supportEditingModes",[...wt.supportEditingModes,vt.CircularAppend,vt.CircularInsert,vt.HeightModify]),p(Ca,"defaults",{...wt.defaults,fillStyle:{material:"",materialParams:{},ground:!0,color:[1,1,1,1]},filled:!0});let wa=Ca;(r=>{r.createDefaultProps=()=>({...wt.createDefaultProps(),height:10,filled:!0})})(wa||(wa={})),d.extendClassProps(wa.prototype,wa.createDefaultProps);const El=class El extends ${get typeName(){return"ESClippingPlane"}get defaultProps(){return El.createDefaultProps()}constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new U("显示箭头","显示箭头",!1,!1,[this,"showArrow"],!0),new it("线框颜色","edgeColor",!1,!1,[this,"edgeColor"],[1,1,1,1]),new C("线框宽度","edgetWidth",!1,!1,[this,"edgetWidth"],2),new C("裁剪宽度","width",!1,!1,[this,"width"],200),new C("裁剪高度","height",!1,!1,[this,"height"],200),new nt("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new H("czm","czm",[new U("显示箭头","显示箭头",!1,!1,[this,"showArrow"]),new it("edgeColor","edgeColor",!1,!1,[this,"edgeColor"]),new C("edgetWidth","edgetWidth",!1,!1,[this,"edgetWidth"]),new C("width","width",!1,!1,[this,"width"]),new C("height","height",!1,!1,[this,"height"]),new nt("targetID","targetID",!1,!1,[this,"targetID"])])])]}};p(El,"type",El.register("ESClippingPlane",El,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"})),p(El,"defaults",{...$.defaults});let lo=El;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),showArrow:!0,edgeColor:d.reactArray([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})})(lo||(lo={})),d.extendClassProps(lo.prototype,lo.createDefaultProps);class QC extends d.Destroyable{constructor(t,e,i){super();const n=document.createElement("div");n.setAttribute("xe2-div",`ESCustomDiv(${e.id})(viewer: ${i.id}) container`);{const l=()=>{const c=` ${e.cssText}
48
+ `,vr=class vr extends d.Destroyable{constructor(){super();p(this,"_ratio",this.dv(d.react(0)));p(this,"_subPlayers",this.dv(new d.ObservableArray));const e=this.dv(new d.Player);{const a=()=>{e.loop=this.loop??vr.defaults.loop};a(),this.d(this.loopChanged.don(a))}{const a=()=>{(this.loop??vr.defaults.loop)!==e.loop&&(this.loop=e.loop)};a(),this.d(e.loopChangedEvent.don(a))}{const a=()=>{e.currentTime=this.currentTime??vr.defaults.currentTime};a(),this.d(this.currentTimeChanged.don(a))}{const a=()=>{(this.currentTime??vr.defaults.currentTime)!==e.currentTime&&(this.currentTime=e.currentTime)};a(),this.d(e.currentTimeChangedEvent.don(a))}{const a=()=>{e.duration=this.duration??vr.defaults.duration};a(),this.d(this.durationChanged.don(a))}{const a=()=>{(this.duration??vr.defaults.duration)!==e.duration&&(this.duration=e.duration)};a(),this.d(e.durationChangedEvent.don(a))}{const a=()=>{e.speed=this.speed??vr.defaults.speed};a(),this.d(this.speedChanged.don(a))}{const a=()=>{(this.speed??vr.defaults.speed)!==e.speed&&(this.speed=e.speed)};a(),this.d(e.speedChangedEvent.don(a))}{const a=()=>{e.playing=this.playing??vr.defaults.playing};a(),this.d(this.playingChanged.don(a))}{const a=()=>{(this.playing??vr.defaults.playing)!==e.playing&&(this.playing=e.playing)};a(),this.d(e.playingChangedEvent.don(a))}const i=()=>{const a=this.duration??vr.defaults.duration;a>0&&(this._ratio.value=(this.currentTime??vr.defaults.currentTime)/a)};i();const n=this.dv(d.createNextAnimateFrameEvent(this.currentTimeChanged,this.durationChanged));this.d(n.don(i)),this.d(()=>{const{length:a}=this._subPlayers;for(let o=0;o<a;++o)this._subPlayers.get(o).destroy();this._subPlayers.length=0});const s=()=>{for(let o of this._subPlayers)o.destroy();if(this._subPlayers.length=0,!this.channels)return;const a=this.channels.map(o=>{const[l,u,c]=o;return new UC(l,u,c,this)});this._subPlayers.splice(0,0,...a)};s(),this.d(this.channelsChanged.don(s))}get ratio(){return this._ratio.value}set ratio(e){Math.abs(this._ratio.value-e)<.001||(this.currentTime=(this.duration??vr.defaults.duration)*e)}get ratioChanged(){return this._ratio.changed}};p(vr,"defaults",{loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:!0,ratio:0}),p(vr,"channelsReadMe",qC);let bn=vr;(r=>{r.createDefaultProps=()=>({loop:!1,currentTime:0,duration:3e3,speed:1,playing:!1,channels:d.reactDeepArrayWithUndefined(void 0,(t,e)=>t==null?void 0:t.every((i,n)=>i===e[n]),t=>[...t])})})(bn||(bn={})),d.extendClassProps(bn.prototype,bn.createDefaultProps);class Vd extends d.Destroyable{constructor(e){super();p(this,"_sceneObject",this.dv(d.react(void 0)));this._id=e,this.d(()=>{this._sceneObject.value=void 0});const i=ft.getSceneObjById(this._id);i&&(this._sceneObject.value=i),this.d(ft.context.sceneObjCreatedEvent.don(n=>{n.id===this._id&&(this._sceneObject.value=n)})),this.d(ft.context.sceneObjToDestroyEvent.don(n=>{n.id===this._id&&(this._sceneObject.value=void 0)}))}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}get id(){return this._id}}class WC extends d.Destroyable{constructor(e,i){super();p(this,"_sofi");this._id=e,this._sofi=this.dv(new Vd(this._id));{const n=()=>{i.sceneObject=this._sofi.sceneObject};n(),this.d(this._sofi.sceneObjectChanged.don(n))}}}class HC extends d.Destroyable{constructor(){super();p(this,"_id",this.dv(d.react(void 0)));p(this,"_sceneObject",this.dv(d.react(void 0)));p(this,"_resetting",this.dv(new d.ObjResettingWithEvent(this.idChanged,()=>{const{id:e}=this;if(e===void 0||e===""){this.sceneObject=void 0;return}return new WC(e,this)})))}get id(){return this._id.value}get idChanged(){return this._id.changed}set id(e){this._id.value=e}get sceneObject(){return this._sceneObject.value}get sceneObjectChanged(){return this._sceneObject.changed}set sceneObject(e){this._sceneObject.value=e}get resetting(){return this._resetting}}class XC extends d.Destroyable{constructor(t,e,i,n){super(),this.disposeVar(new d.ObjResettingWithEvent(t.sceneObjectChanged,()=>{let s;n.debug&&console.log("正在获取Event事件...");do{const a=t.sceneObject;if(!a||!e)break;const o=e.split(".");if(o.length===0){n.debug&&console.warn("propNames.length === 0");break}let l=d.pluckProperty(a,!1,...o);if((!l||!(l instanceof d.Event))&&(o[o.length-1]=o[o.length-1]+"Changed",n.debug&&console.warn(`event未能获取,那么将属性名的最后一项加上Changed(${o[o.length-1]})再试试!`),l=d.pluckProperty(a,!1,...o),n.debug&&l&&console.warn("event仍然获取不到!")),!l){n.debug&&console.warn(`cannot get changed from ${a.id}-${a.name}-${a.ref}-${e}`);break}if(!(l instanceof d.Event)){n.debug&&console.warn(`the prop is not event from ${a.id}-${a.name}-${a.ref}-${e}`);break}s=l,n.debug&&console.log(`Event获取成功 propChangedName: ${e}`,s)}while(!1);if(s){const a=new d.Destroyable;return a.d(s.dwon(()=>i.emit())),a}else{n.debug&&console.log(`未获取到Event!propChangedName: ${e}`);return}}))}}let YC=class extends d.Destroyable{constructor(e,i,n){super();p(this,"_doEvalEvent",this.dv(new d.Event));const s=this._doEvalEvent,a=this.disposeVar(d.createNextAnimateFrameEvent(s)),o=e.map(([l,u])=>{const c=new Vd(l),h=u&&new XC(c,u,s,i)||void 0;return[c,h]});this.d(()=>{o.forEach(([l,u])=>{u==null||u.destroy(),l.destroy()}),o.length=0}),this.d(s.don(()=>{const{evalMode:l="NextAnimateFrame",evalOnlyWhenObjsAllExist:u=!0}=i;if(l==="Immediate"){const c=o.map(([h])=>h.sceneObject);(!u||c.every(h=>h!==void 0))&&n(c)}})),this.d(a.don(()=>{const{evalMode:l="NextAnimateFrame",evalOnlyWhenObjsAllExist:u=!0}=i;if(l==="NextAnimateFrame"){const c=o.map(([h])=>h.sceneObject);(!u||c.every(h=>h!==void 0))&&n(c)}}))}forceExecute(){this._doEvalEvent.emit()}};const b0=Object.freeze(Object.defineProperty({__proto__:null,WatcherObjects:YC},Symbol.toStringTag,{value:"Module"})),{WatcherObjects:JC}=b0;class kh extends d.Destroyable{constructor(){super();p(this,"_evalFunc");p(this,"_forceExecute",new d.Event);const e=this.dv(d.react(void 0)),i=()=>{try{e.value=this.evalFuncStr&&Function('"use strict";return ('+this.evalFuncStr+")")(),this.debug&&console.log("evalFunc成功构建",e.value)}catch(a){console.error(`evalFunc get error! ${a}`),e.value=void 0}};i(),this.dispose(this.evalFuncStrChanged.disposableOn(i));const n=a=>{this.enabled&&(this.debug&&console.log("执行evalFunc..."),this._evalFunc&&this._evalFunc(a),e.value&&e.value(a))},s=this.disposeVar(new d.ObjResettingWithEvent(this.objIdAndPropChangedNamesChanged,()=>{if(this.objIdAndPropChangedNames.length>0)return this.debug&&console.log("监视对象发生变化,重新创建WatcherObjects"),new JC(this.objIdAndPropChangedNames,this,n)}));this.dispose(this._forceExecute.disposableOn(()=>{var a;(a=s.obj)==null||a.forceExecute()}))}get evalFunc(){return this._evalFunc}set evalFunc(e){this._evalFunc=e}forceExecute(){this._forceExecute.emit()}}(r=>{r.createDefaultProps=()=>({enabled:!1,objIdAndPropChangedNames:d.reactDeepArray([],(t,e)=>t[0]===e[0]&&t[1]===e[1],t=>[t[0],t[1]]),evalFuncStr:"",evalMode:"NextAnimateFrame",evalOnlyWhenObjsAllExist:!0,debug:!1,name:"未命名场景对象",ref:void 0,extras:d.reactJson(void 0),devTags:d.reactArrayWithUndefined(void 0),execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0})})(kh||(kh={})),d.extendClassProps(kh.prototype,kh.createDefaultProps);function KC(r,t,e){var n;((n=t.viewer)==null?void 0:n.getEngineObject(t))?e.call(r):r.dispose(t.createdEvent.don(()=>e.call(r)))}const le=class le extends ft{constructor(e){super(e);p(this,"_editing",this.dv(d.react(!1)));p(this,"editingID");p(this,"editingBindMode","singlePoint");p(this,"_deprecated",[]);p(this,"_flyInEvent",this.dv(new d.Event));p(this,"_flyToEvent",this.dv(new d.Event));p(this,"_flyOverEvent",this.disposeVar(new d.Event));p(this,"_pickedEvent",this.dv(new d.Event));p(this,"_calcFlyToParamEvent",this.dv(new d.Event));p(this,"_calcFlyInParamEvent",this.dv(new d.Event));p(this,"useCalcFlyToParamInESObjectWithLocation",!1);E0(this,this.updateEditing)}supportEditingModes(){return this.constructor.supportEditingModes}get editing(){return this._editing.value}set editing(e){this._editing.value=e}get editingChanged(){return this._editing.changed}updateEditing(){}_deprecatedWarning(){const e=this._deprecated;for(let i=0;i<e.length;i++){const n=e[i];typeof n=="string"?Reflect.has(this,n+"Changed")&&this.d(this[n+"Changed"].don(()=>{console.warn(`注意:${this.typeName} 的 ${n} 属性下版本将会被移除!`)})):Object.keys(n).forEach(s=>{Reflect.has(this,s+"Changed")&&this.d(this[s+"Changed"].don(o=>{const l=n[s];typeof l=="string"?console.warn(`注意:${this.typeName} 的 ${s} 属性下版本将会被移除!`):Object.keys(l).forEach(u=>{o===u&&console.warn(`注意:${this.typeName} 的 ${s} 属性值 ${u} 下版本将会被移除,推荐使用属性值 ${l[u]}`)})}))})}}get flyInEvent(){return this._flyInEvent}flyIn(e=1){this._flyInEvent.emit(e,le._lastFlyInId)}get flyToEvent(){return this._flyToEvent}flyTo(e=1){this._flyToEvent.emit(e,le._lastFlyToId)}get flyOverEvent(){return this._flyOverEvent}get pickedEvent(){return this._pickedEvent}get calcFlyToParamEvent(){return this._calcFlyToParamEvent}calcFlyToParam(){this._calcFlyToParamEvent.emit()}get calcFlyInParamEvent(){return this._calcFlyInParamEvent}calcFlyInParam(){this._calcFlyInParamEvent.emit()}emptyFlyToParam(){this.flyToParam=void 0}emptyFlyInParam(){this.flyInParam=void 0}async getBoundSphere(e){return await e.getBoundSphere(this.id)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"general",general:[...e.general,new nt("唯一标识","id",!1,!0,[this,"id"]),new nt("名称","name",!0,!1,[this,"name"]),new U("是否显示","show",!1,!1,[this,"show"],le.defaults.show),new U("开启碰撞","collision",!1,!1,[this,"collision"],le.defaults.collision),new U("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],le.defaults.allowPicking),new mt("保存观察视角","保存当前flyToParam",[],()=>this.calcFlyToParam(),[]),new mt("清空飞向参数","清空飞向参数",[],()=>this.emptyFlyToParam(),[]),new mt("清空飞入参数","清空飞入参数",[],()=>this.emptyFlyInParam(),[]),new mt("保存飞入参数","保存飞入参数flyInParam",[],()=>this.calcFlyInParam(),[])]}}getProperties(e){return[...super.getProperties(e),new H("ESVisualObject","ESVisualObject",[new U("是否显示","是否显示.",!1,!1,[this,"show"],le.defaults.show),new U("是否开启碰撞监测","collision,是否开启碰撞监测.",!1,!1,[this,"collision"],le.defaults.collision),new U("是否允许拾取","是否允许被鼠标点击拾取.",!1,!1,[this,"allowPicking"],le.defaults.allowPicking),new H("飞行定位","飞向参数",[new mt("飞向","飞向",["number"],i=>this.flyTo(i),[1]),new Y("flyToParam","flyToParam",!0,!1,[this,"flyToParam"],le.defaults.flyToParam),new mt("获取当前参数","获取当前flyToParam",[],()=>this.calcFlyToParam(),[]),new C("flyToDistance","flyToDistance",!0,!1,[this,"flyToDistance"],le.defaults.flyToParam.distance),new C("flyToHeading","flyToHeading",!0,!1,[this,"flyToHeading"],le.defaults.flyToParam.heading),new C("flyToPitch","flyToPitch",!0,!1,[this,"flyToPitch"],le.defaults.flyToParam.pitch),new C("flyToFlyDuration","flyToFlyDuration",!0,!1,[this,"flyToFlyDuration"],le.defaults.flyToParam.flyDuration),new C("flyToHDelta","flyToHDelta",!0,!1,[this,"flyToHDelta"],le.defaults.flyToParam.hDelta),new C("flyToPDelta","flyToPDelta",!0,!1,[this,"flyToPDelta"],le.defaults.flyToParam.pDelta)]),new H("飞入定位","飞入参数",[new mt("飞入","飞入",["number"],i=>this.flyIn(i),[1]),new Y("flyInParam","flyInParam",!0,!1,[this,"flyInParam"],le.defaults.flyInParam),new mt("获取当前相机参数","获取当前相机参数",[],()=>this.calcFlyInParam(),[])])])]}get flyToDistance(){return this.flyToParam&&this.flyToParam.distance}get flyToHeading(){return this.flyToParam&&this.flyToParam.heading}get flyToPitch(){return this.flyToParam&&this.flyToParam.pitch}get flyToFlyDuration(){return this.flyToParam&&this.flyToParam.flyDuration}get flyToHDelta(){return this.flyToParam&&this.flyToParam.hDelta}get flyToPDelta(){return this.flyToParam&&this.flyToParam.pDelta}get flyToDistanceChanged(){return this.flyToParamChanged}get flyToHeadingChanged(){return this.flyToParamChanged}get flyToPitchChanged(){return this.flyToParamChanged}get flyToFlyDurationChanged(){return this.flyToParamChanged}get flyToHDeltaChanged(){return this.flyToParamChanged}get flyToPDeltaChanged(){return this.flyToParamChanged}set flyToDistance(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,distance:e}:void 0}set flyToHeading(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,heading:e}:void 0}set flyToPitch(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,pitch:e}:void 0}set flyToFlyDuration(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,flyDuration:e}:void 0}set flyToHDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,hDelta:e}:void 0}set flyToPDelta(e){this.flyToParam=e!==void 0?{...this.flyToParam??le.defaults.flyToParam,pDelta:e}:void 0}};p(le,"supportEditingModes",[]),p(le,"_lastFlyInId",0),p(le,"_lastFlyToId",0),p(le,"defaults",{...ft.defaults,show:!0,collision:!0,allowPicking:!1,flyToParam:{distance:0,heading:0,pitch:0,flyDuration:1,hDelta:0,pDelta:0},flyInParam:{position:[0,0,0],rotation:[0,0,0],flyDuration:1}});let Ot=le;(r=>{r.createDefaultProps=()=>({...ft.createDefaultProps(),show:!0,collision:!0,allowPicking:!1,flyToParam:d.reactJsonWithUndefined(void 0),flyInParam:d.reactJsonWithUndefined(void 0)})})(Ot||(Ot={})),d.extendClassProps(Ot.prototype,Ot.createDefaultProps);function T0(r){let t=0;function e(i,n){n++,t=Math.max(n,t),i.forEach(s=>{Array.isArray(s)&&e(s,n)})}return e(r,0),t}const Rs=class Rs extends Ot{constructor(e){super(e);p(this,"editingBindMode","lineString");p(this,"_area",this.dv(d.react(0)));p(this,"_perimeter",this.dv(d.react(0)));const i=()=>{this._updateArea(),this._updatePerimeter()};i(),this.d(this.pointsChanged.don(i))}updateEditing(){var i;const e=[];do{if(this.editingBindMode=="doublePoints"){e.push(vt.DoublePointsAppend,vt.DoublePointsModify);break}if(this.editingBindMode=="lineString"){e.push(vt.LineStringAppend,vt.LineStringInsert,vt.Translation);break}if(this.editingBindMode=="circular"){e.push(vt.CircularAppend,vt.CircularInsert,vt.Translation),this.supportEditingModes().includes(vt.HeightModify)&&e.push(vt.HeightModify);break}if(this.editingBindMode=="visibility"){e.push(vt.VisibilityAppend,vt.VisibilityModify);break}if(this.editingBindMode=="scatter"){e.push(vt.ScatterAppend,vt.ScatterModify);break}}while(!1);(i=this.viewer)==null||i.startEditing(this,e,{callSource:"inner"})}get area(){return this._area.value}get areaChanged(){return this._area.changed}get perimeter(){return this._perimeter.value}get perimeterChanged(){return this._perimeter.changed}_updateArea(){this._area.value=this.getArea()??0}_updatePerimeter(){this._perimeter.value=this.getPerimeter()??0}getArea(){if(this.points&&this.points.length>=3)return cd([...this.points])}getDistance(){if(this.points&&this.points.length>=2){const e=Fh(this.points,"GEODESIC");return e[e.length-1]}else return}getPerimeter(){if(this.points&&this.points.length>=3){const e=[...this.points,this.points[0]],i=Fh(e,"GEODESIC");return i[i.length-1]}else return}getIntersect(e){if(this.points&&this.points.length>=3&&e.length>=3){const i=gm(this.points,e);if(!i)return;const n=i[0][0][0];if(Array.isArray(n)){const s=[...i],a=[];return s.forEach(o=>{const l=o[0].map(u=>[...u,0]);a.push(l)}),a}else return[[...i][0].map(o=>[...o,0])]}else return}getUnion(e){if(this.points&&this.points.length>=3&&e.length>=3){const i=mm(this.points,e);if(!i)return;const n=i[0][0][0];if(Array.isArray(n)){const s=[...i],a=[];return s.forEach(o=>{const l=o[0].map(u=>[...u,0]);a.push(l)}),a}else return[[...i][0].map(o=>[...o,0])]}else return}getDifference(e){if(this.points&&this.points.length>=3&&e.length>=3){let i=[...e];const n=e[0],s=e[e.length-1];n[0]===s[0]&&n[1]===s[1]&&n[2]===s[2]||i.push(n);const a=ym([...this.points,this.points[0]],[...i]);if(!a)return{status:"undefined",positions:void 0};const o=[...a];if(T0(o)===3){const l=o.map(f=>f.map(g=>[...g,0]));if(l.length<=1)return{status:"notIncluded",positions:l};const u=l[0],c=l[1];return dd([...u],[...c])==="oneBig"?{status:"included",positions:l}:{status:"notIncluded",positions:l}}else if(T0(o)===4){const u=[...o.map(h=>h.map(f=>f.map(g=>[...g,0])))],c=[];return u.forEach(h=>{c.push(h[0])}),{status:"notIncluded",positions:c}}else return{status:"undefined",positions:void 0}}else return{status:"undefined",positions:void 0}}getBuffer(e=500,i){if(this.points&&this.points.length>=2){const n=vm(this.points,e,i);return n?[n[0].map(s=>[...s,0])]:void 0}else return}geoPolygonOverlap(e){if(this.points&&this.points.length>=3&&e.length>=3){const i=dd(this.points,e);return i==="oneBig"?!0:i==="twoBig"?!1:void 0}else return}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"style",coordinate:[...e.coordinate,new U("编辑","编辑",!1,!1,[this,"editing"],!1),new Y("位置数组","位置数组(经纬高数组)",!0,!1,[this,"points"],Rs.defaults.points)],style:[...e.style,new H("点样式","点样式集合",[]),new U("开启","开启点样式",!1,!1,[this,"pointed"],!1),new C("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new tt("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new it("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new it("轮廓颜色","轮廓颜色(pointOutlineColor)",!1,!1,[this,"pointOutlineColor"],Rs.defaults.pointStyle.outlineColor),new C("轮廓宽度","轮廓宽度(pointOutlineWidth)",!1,!1,[this,"pointOutlineWidth"],Rs.defaults.pointStyle.outlineWidth),new H("线样式","线样式集合",[]),new U("开启","开启线样式",!1,!1,[this,"stroked"],!0),new U("贴地","是否贴地",!1,!1,[this,"strokeGround"],!1),new C("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new tt("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new it("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new H("面样式","面样式集合",[]),new U("开启","开启填充样式",!1,!1,[this,"filled"],!1),new U("贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new it("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(e){return[...super.getProperties(e),new H("ESGeoVector","ESGeoVector",[new U("是否编辑","是否编辑",!1,!1,[this,"editing"]),new Y("位置数组","位置数组(经纬高数组)",!1,!1,[this,"points"]),new H("点样式","点样式",[new U("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new C("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new tt("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new it("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new it("轮廓颜色","轮廓颜色(pointOutlineColor)",!1,!1,[this,"pointOutlineColor"],Rs.defaults.pointStyle.outlineColor),new C("轮廓宽度","轮廓宽度(pointOutlineWidth)",!1,!1,[this,"pointOutlineWidth"],Rs.defaults.pointStyle.outlineWidth),new nt("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new Y("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new H("线样式","线样式",[new U("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new C("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new tt("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new it("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new nt("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new Y("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new U("是否贴地","是否贴地",!1,!1,[this,"strokeGround"])]),new H("填充样式","填充样式",[new U("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new it("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new nt("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new Y("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new U("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointOutlineColor(){return this.pointStyle.outlineColor}set pointOutlineColor(e){this.pointStyle={...this.pointStyle,outlineColor:[...e]}}get pointOutlineColorChanged(){return this.pointStyleChanged}get pointOutlineWidth(){return this.pointStyle.outlineWidth}set pointOutlineWidth(e){this.pointStyle={...this.pointStyle,outlineWidth:e}}get pointOutlineWidthChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(e){this.strokeStyle={...this.strokeStyle,width:e}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(e){this.strokeStyle={...this.strokeStyle,widthType:e}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(e){this.strokeStyle={...this.strokeStyle,color:[...e]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(e){this.strokeStyle={...this.strokeStyle,material:e}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(e){this.strokeStyle={...this.strokeStyle,materialParams:e}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(e){this.strokeStyle={...this.strokeStyle,ground:e}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(e){this.fillStyle={...this.fillStyle,color:[...e]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(e){this.fillStyle={...this.fillStyle,material:e}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(e){this.fillStyle={...this.fillStyle,materialParams:e}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(e){this.fillStyle={...this.fillStyle,ground:e}}get fillGroundChanged(){return this.fillStyleChanged}};p(Rs,"supportEditingModes",[...Ot.supportEditingModes,vt.Translation]),p(Rs,"defaults",{...Ot.defaults,points:[],pointStyle:{size:10,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{},outlineColor:[1,0,0,1],outlineWidth:2},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1});let wt=Rs;(r=>{r.createDefaultProps=()=>({...Ot.createDefaultProps(),pointed:!1,pointStyle:d.reactJson(r.defaults.pointStyle),stroked:!1,strokeStyle:d.reactJson(r.defaults.strokeStyle),filled:!1,fillStyle:d.reactJson(r.defaults.fillStyle),points:d.reactPositions(void 0)})})(wt||(wt={})),d.extendClassProps(wt.prototype,wt.createDefaultProps);class $ extends Ot{constructor(){super(...arguments);p(this,"_statusDis",this.dv(d.react(!0)));p(this,"_smoothMoveEvent",this.dv(new d.Event));p(this,"_smoothMoveWithRotationEvent",this.dv(new d.Event));p(this,"_smoothMoveOnGroundEvent",this.dv(new d.Event));p(this,"_smoothMoveWithRotationOnGroundEvent",this.dv(new d.Event));p(this,"_automaticLandingEvent",this.dv(new d.Event));p(this,"_smoothMoveKeepPitchEvent",this.dv(new d.Event));p(this,"_smoothMoveRelativelyEvent",this.dv(new d.Event));p(this,"_smoothMoveRelativelyWithRotationEvent",this.dv(new d.Event));p(this,"useCalcFlyToParamInESObjectWithLocation",!0)}updateEditing(){var i;const e=[];do{if(this.editingBindMode=="singlePoint"){e.push(vt.Place,vt.Translation),["ESLocationMeasurement"].includes(this.typeName)||e.push(vt.Rotation),["ESClippingPlane","ESLocationMeasurement","ESLocalRectangle","ESBoxClipping"].includes(this.typeName)||e.push(vt.Scale);break}if(this.editingBindMode=="doublePoints"){e.push(vt.DoublePointsAppend,vt.DoublePointsModify);break}}while(!1);(i=this.viewer)==null||i.startEditing(this,e,{callSource:"inner"})}get statusDis(){return this._statusDis.value}get statusDisChanged(){return this._statusDis.changed}get smoothMoveEvent(){return this._smoothMoveEvent}smoothMove(e,i){this._smoothMoveEvent.emit(e,i)}get smoothMoveWithRotationEvent(){return this._smoothMoveWithRotationEvent}smoothMoveWithRotation(e,i,n){this._smoothMoveWithRotationEvent.emit(e,i,n)}get smoothMoveOnGroundEvent(){return this._smoothMoveOnGroundEvent}smoothMoveOnGround(e,i,n,s){this._smoothMoveOnGroundEvent.emit(e,i,n,s)}get smoothMoveWithRotationOnGroundEvent(){return this._smoothMoveWithRotationOnGroundEvent}smoothMoveWithRotationOnGround(e,i,n,s,a){this._smoothMoveWithRotationOnGroundEvent.emit(e,i,n,s,a)}get automaticLandingEvent(){return this._automaticLandingEvent}automaticLanding(){const e=this.collision;this.collision=!1,setTimeout(()=>{this._automaticLandingEvent.emit(e)},100)}get smoothMoveKeepPitchEvent(){return this._smoothMoveKeepPitchEvent}smoothMoveKeepPitch(e,i){this._smoothMoveKeepPitchEvent.emit(e,i)}get smoothMoveRelativelyEvent(){return this._smoothMoveRelativelyEvent}smoothMoveRelatively(e,i){this._smoothMoveRelativelyEvent.emit(e,i)}get smoothMoveRelativelyWithRotationEvent(){return this._smoothMoveRelativelyWithRotationEvent}smoothMoveRelativelyWithRotation(e,i,n){this._smoothMoveRelativelyWithRotationEvent.emit(e,i,n)}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",location:[...e.location,new U("是否编辑","是否编辑",!1,!1,[this,"editing"]),new mt("自动落地","自动落地",[],()=>this.automaticLanding(),[]),new ln("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"],[0,0,0]),new Zh("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"],[0,0,0]),new Qe("缩放","缩放",!1,!1,[this,"scale"],[1,1,1]),new C("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"],0),new C("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"],0)]}}getProperties(e){return[...super.getProperties(e),new H("位置姿态对象","位置姿态对象ESObjectWithLocation",[new mt("平滑移动","smoothMove",["numbers","number"],(i,n)=>this.smoothMove(i,n),[[0,0,0],0]),new mt("固定方向平滑移动","smoothMoveKeepPitch",["numbers","number"],(i,n)=>this.smoothMoveKeepPitch(i,n),[[0,0,0],0]),new mt("平滑偏移","smoothMoveWithRotation",["numbers","numbers","number"],(i,n,s)=>this.smoothMoveWithRotation(i,n,s),[[0,0,0],[0,0,0],0]),new mt("贴地平滑移动","smoothMoveOnGround",["number","number","number","string"],(i,n,s,a)=>this.smoothMoveOnGround(i,n,s,a),[0,0,0,""]),new mt("贴地平滑偏移","smoothMoveWithRotationOnGround",["numbers","number","number","number","string"],(i,n,s,a,o)=>this.smoothMoveWithRotationOnGround(i,n,s,a,o),[[0,0,0],0,0,0,""]),new mt("smoothMoveRelatively","smoothMoveRelatively",["numbers","number"],(i,n)=>this.smoothMoveRelatively(i,n),[[0,0,0],0]),new mt("smoothMoveRelativelyWithRotation","smoothMoveRelativelyWithRotation",["numbers","numbers","number"],(i,n,s)=>this.smoothMoveRelativelyWithRotation(i,n,s),[[0,0,0],[0,0,0],0]),new ln("位置数组","经度,纬度,高度,度为单位",!1,!1,[this,"position"]),new Zh("姿态数组","偏航角,俯仰角,翻转角,度为单位",!1,!1,[this,"rotation"]),new Qe("缩放","缩放",!1,!1,[this,"scale"]),new U("是否编辑","是否开启编辑状态",!0,!1,[this,"editing"],!1),new C("最小可见距离","单位米",!1,!1,[this,"minVisibleDistance"]),new C("最大可见距离","单位米",!1,!1,[this,"maxVisibleDistance"]),new U("是否应用距离显隐","是否应用距离显隐",!1,!1,[this,"enableVisibleDistance"])])]}get pointSize(){return this.pointStyle.size}set pointSize(e){this.pointStyle={...this.pointStyle,size:e}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(e){this.pointStyle={...this.pointStyle,sizeType:e}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(e){this.pointStyle={...this.pointStyle,color:[...e]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(e){this.pointStyle={...this.pointStyle,material:e}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(e){this.pointStyle={...this.pointStyle,materialParams:e}}get pointMaterialParamsChanged(){return this.pointStyleChanged}}p($,"supportEditingModes",[...Ot.supportEditingModes,vt.Place,vt.Translation,vt.Rotation,vt.Scale,vt.DoublePointsAppend,vt.DoublePointsModify]),p($,"defaults",{...Ot.defaults,pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},pointed:!1}),(r=>{r.createDefaultProps=()=>({...Ot.createDefaultProps(),pointed:!1,pointStyle:d.reactJson(r.defaults.pointStyle),position:d.reactArray([0,0,0]),rotation:d.reactArray([0,0,0]),scale:d.reactArray([1,1,1]),minVisibleDistance:d.react(0),maxVisibleDistance:d.react(0)})})($||($={})),d.extendClassProps($.prototype,$.createDefaultProps);class Tn extends ${getESProperties(){const t={...super.getESProperties()};return{...t,style:[...t.style,new H("点样式","点样式集合",[]),new U("开启点样式","开启点样式",!1,!1,[this,"pointed"],!1),new C("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"],1),new tt("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]],"screen"),new it("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"],[1,1,1,1]),new H("线样式","线样式集合",[]),new U("开启线样式","开启线样式",!1,!1,[this,"stroked"],!1),new U("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1),new C("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"],1),new tt("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]],"screen"),new it("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"],[1,1,1,1]),new H("面样式","面样式集合",[]),new U("开启填充样式","开启填充样式",!1,!1,[this,"filled"],!1),new U("是否贴地","是否贴地",!1,!1,[this,"fillGround"],!1),new it("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"],[1,1,1,1])]}}getProperties(t){return[...super.getProperties(t),new H("ESLocalVector","ESLocalVector",[new Y("点样式","点样式(pointMaterialParams)",!1,!1,[this,"pointStyle"]),new Y("线样式","线样式(strokeMaterialParams)",!1,!1,[this,"strokeStyle"]),new Y("填充样式","填充样式(fillMaterialParams)",!1,!1,[this,"fillStyle"]),new H("点样式","点样式",[new U("开启点样式","开启点样式",!1,!1,[this,"pointed"]),new C("点大小","点大小(pointSize)",!1,!1,[this,"pointSize"]),new tt("点类型","点类型(pointSizeType)",!1,!1,[this,"pointSizeType"],[["screen","screen"],["world","world"]]),new it("点颜色","点颜色(pointColor)",!1,!1,[this,"pointColor"]),new nt("点材质","点材质(pointMaterial)",!1,!1,[this,"pointMaterial"]),new Y("点材质参数","点材质参数(pointMaterialParams)",!1,!1,[this,"pointMaterialParams"])]),new H("线样式","线样式",[new U("开启线样式","开启线样式",!1,!1,[this,"stroked"]),new C("线宽","线宽(strokeWidth)",!1,!1,[this,"strokeWidth"]),new tt("线类型","线类型(strokeWidthType)",!1,!1,[this,"strokeWidthType"],[["screen","screen"],["world","world"]]),new it("线颜色","线颜色(strokeColor)",!1,!1,[this,"strokeColor"]),new nt("线材质","线材质(strokeMaterial)",!1,!1,[this,"strokeMaterial"]),new Y("线材质参数","线材质参数(strokeMaterialParams)",!1,!1,[this,"strokeMaterialParams"]),new U("是否贴地(线)","是否贴地(线)",!1,!1,[this,"strokeGround"],!1)]),new H("填充样式","填充样式",[new U("开启填充样式","开启填充样式",!1,!1,[this,"filled"]),new it("填充颜色","填充颜色(fillColor)",!1,!1,[this,"fillColor"]),new nt("面材质","面材质(fillMaterial)",!1,!1,[this,"fillMaterial"]),new Y("面材质参数","面材质参数(fillMaterialParams)",!1,!1,[this,"fillMaterialParams"]),new U("是否贴地","是否贴地",!1,!1,[this,"fillGround"])])])]}get pointSize(){return this.pointStyle.size}set pointSize(t){this.pointStyle={...this.pointStyle,size:t}}get pointSizeChanged(){return this.pointStyleChanged}get pointSizeType(){return this.pointStyle.sizeType}set pointSizeType(t){this.pointStyle={...this.pointStyle,sizeType:t}}get pointSizeTypeChanged(){return this.pointStyleChanged}get pointColor(){return this.pointStyle.color}set pointColor(t){this.pointStyle={...this.pointStyle,color:[...t]}}get pointColorChanged(){return this.pointStyleChanged}get pointMaterial(){return this.pointStyle.material}set pointMaterial(t){this.pointStyle={...this.pointStyle,material:t}}get pointMaterialChanged(){return this.pointStyleChanged}get pointMaterialParams(){return this.pointStyle.materialParams}set pointMaterialParams(t){this.pointStyle={...this.pointStyle,materialParams:t}}get pointMaterialParamsChanged(){return this.pointStyleChanged}get strokeWidth(){return this.strokeStyle.width}set strokeWidth(t){this.strokeStyle={...this.strokeStyle,width:t}}get strokeWidthChanged(){return this.strokeStyleChanged}get strokeWidthType(){return this.strokeStyle.widthType}set strokeWidthType(t){this.strokeStyle={...this.strokeStyle,widthType:t}}get strokeWidthTypeChanged(){return this.strokeStyleChanged}get strokeColor(){return this.strokeStyle.color}set strokeColor(t){this.strokeStyle={...this.strokeStyle,color:[...t]}}get strokeColorChanged(){return this.strokeStyleChanged}get strokeMaterial(){return this.strokeStyle.material}set strokeMaterial(t){this.strokeStyle={...this.strokeStyle,material:t}}get strokeMaterialChanged(){return this.strokeStyleChanged}get strokeMaterialParams(){return this.strokeStyle.materialParams}set strokeMaterialParams(t){this.strokeStyle={...this.strokeStyle,materialParams:t}}get strokeMaterialParamsChanged(){return this.strokeStyleChanged}get strokeGround(){return this.strokeStyle.ground}set strokeGround(t){this.strokeStyle={...this.strokeStyle,ground:t}}get strokeGroundChanged(){return this.strokeStyleChanged}get fillColor(){return this.fillStyle.color}set fillColor(t){this.fillStyle={...this.fillStyle,color:[...t]}}get fillColorChanged(){return this.fillStyleChanged}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialChanged(){return this.fillStyleChanged}get fillMaterialParams(){return this.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle,materialParams:t}}get fillMaterialParamsChanged(){return this.fillStyleChanged}get fillGround(){return this.fillStyle.ground}set fillGround(t){this.fillStyle={...this.fillStyle,ground:t}}get fillGroundChanged(){return this.fillStyleChanged}}p(Tn,"defaults",{...$.defaults,pointStyle:{size:1,sizeType:"screen",color:[1,1,1,1],material:"",materialParams:{}},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},fillStyle:{color:[1,1,1,1],material:"",materialParams:{},ground:!1},pointed:!1,stroked:!1,filled:!1}),(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),pointed:!1,pointStyle:d.reactJson(r.defaults.pointStyle),stroked:!1,strokeStyle:d.reactJson(r.defaults.strokeStyle),filled:!1,fillStyle:d.reactJson(r.defaults.fillStyle)})})(Tn||(Tn={})),d.extendClassProps(Tn.prototype,Tn.createDefaultProps);class Yr extends Tn{getESProperties(){return{...super.getESProperties()}}getProperties(t){return[...super.getProperties(t)]}}p(Yr,"defaults",{...Tn.defaults}),(r=>{r.createDefaultProps=()=>({...Tn.createDefaultProps()})})(Yr||(Yr={})),d.extendClassProps(Yr.prototype,Yr.createDefaultProps);const D0=[["固定朝向",0],["面向屏幕旋转",1],["绕自身Z轴旋转",2]],x0=[["单面不透明",0],["双面不透明",1],["单面遮罩",2],["双面遮罩",3],["单面透明",4],["双面透明",5],["单面未遮挡透明",6],["双面未遮挡透明",7]];class Re extends ${constructor(){super(...arguments);p(this,"_widgetEvent",this.dv(new d.Event))}get widgetEvent(){return this._widgetEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new U("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new U("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new se("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new se("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new se("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new tt("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],x0,0),new tt("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],D0,1),new nt("绑定对象","actorTag",!1,!1,[this,"actorTag"]),new nt("插槽名称","socketName",!1,!1,[this,"socketName"]),new Qe("位置偏移","positionOffset(米)",!1,!1,[this,"positionOffset"]),new Qe("相对姿态","rotationOffset(米)",!1,!1,[this,"rotationOffset"])]}}getProperties(e){return[...super.getProperties(e),new H("标签属性","标签对象ESLabel的属性",[new U("屏幕渲染","是否开启屏幕渲染模式",!1,!1,[this,"screenRender"],!0),new U("尺寸自适应","尺寸是否根据内容自动计算",!1,!1,[this,"sizeByContent"],!0),new se("尺寸大小","尺寸自适应关闭才会生效",!1,!1,[this,"size"],[100,100]),new se("偏移比例","偏移比例(anchor)",!1,!1,[this,"anchor"],[.5,1]),new se("像素偏移","像素偏移(offset)",!1,!1,[this,"offset"],[0,0]),new tt("渲染模式","八种渲染模式(0~7),当Widget中透明度只有(0,1)两种时可以选择2",!1,!1,[this,"renderMode"],x0,0),new tt("漫游旋转类型","三种漫游旋转类型(0,1,2)",!1,!1,[this,"rotationType"],D0,1),new C("排序","zOrder排序",!1,!1,[this,"zOrder"],0)])]}}p(Re,"defaults",{...$.defaults,screenRender:!0,size:[100,100],anchor:[.5,.5],sizeByContent:!0,renderMode:0,rotationType:1}),(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),screenRender:!0,size:d.reactArray([100,100]),anchor:d.reactArray([.5,1]),offset:d.reactArray([0,0]),sizeByContent:!0,renderMode:0,rotationType:1,zOrder:0,actorTag:"",socketName:"",positionOffset:d.reactArray([0,0,0]),rotationOffset:d.reactArray([0,0,0])})})(Re||(Re={})),d.extendClassProps(Re.prototype,Re.createDefaultProps);const Lu=class Lu extends ft{constructor(t){super(t)}};p(Lu,"properties",{show:!0,fillStyle:d.reactJson({color:[1,1,1,1],material:"",materialParams:{},ground:!1})}),p(Lu,"type",Lu.register1("ESTestObject",Lu,{chsName:"测试",tags:["ESObjects"],description:""}));let Ud=Lu;const Jr=class Jr extends Ot{constructor(e){super(e);p(this,"_refreshTilesetEvent",this.dv(new d.Event));p(this,"_tilesetReadyEvent",this.dv(new d.Event));p(this,"_supportEdit",this.dv(d.react(!0)));p(this,"_highlightFeatureEvent",this.dv(new d.Event));p(this,"_highlightFeatureAndFlyToEvent",this.dv(new d.Event));p(this,"_strokeFeatureEvent",this.disposeVar(new d.Event));p(this,"_getFeatureTableEvent",this.dv(new d.Event));p(this,"_featureTableResultEvent",this.dv(new d.Event));p(this,"_getMaterialNameListEvent",this.disposeVar(new d.Event));p(this,"_setFeatureStyleEvent",this.dv(new d.Event));p(this,"_setFeatureColorEvent",this.dv(new d.Event));p(this,"_setFeatureVisableEvent",this.dv(new d.Event));p(this,"_resetFeatureStyleEvent",this.dv(new d.Event));p(this,"setMaterialInfoEvent",this.ad(new d.Event));p(this,"_setMaterialEvent",this.disposeVar(new d.Event));p(this,"_clippingPlanesId",this.dv(d.react("")));p(this,"_clippingPlaneIds",this.dv(d.react([])));p(this,"_flattenedPlaneId",this.dv(d.react("")));p(this,"_flattenedPlaneEnabled",this.dv(d.react(!1)));p(this,"_clippingPlaneId",this.dv(d.react("")));p(this,"_excavateId",this.dv(d.reactArray([])))}get typeName(){return"ES3DTileset"}get defaultProps(){return Jr.createDefaultProps()}updateEditing(){var e;(e=this.viewer)==null||e.startEditing(this,[vt.Translation,vt.Rotation],{callSource:"inner"})}get refreshTilesetEvent(){return this._refreshTilesetEvent}refreshTileset(){this._refreshTilesetEvent.emit()}get tilesetReady(){return this._tilesetReadyEvent}get supportEdit(){return this._supportEdit.value}set supportEdit(e){this._supportEdit.value=e}get supportEditChanged(){return this._supportEdit.changed}get highlightFeatureEvent(){return this._highlightFeatureEvent}highlightFeature(e,i){this._highlightFeatureEvent.emit(e,i)}get highlightFeatureAndFlyToEvent(){return this._highlightFeatureAndFlyToEvent}highlightFeatureAndFlyTo(e,i,n,s){this._highlightFeatureAndFlyToEvent.emit(e,i,n,s)}get strokeFeatureEvent(){return this._strokeFeatureEvent}strokeFeature(e,i=[1,0,0,1]){this._strokeFeatureEvent.emit(e,i)}get getFeatureTableEvent(){return this._getFeatureTableEvent}getFeatureTable(){return Promise.race([new Promise(e=>{const i=this.d(this._featureTableResultEvent.donce(e));this._getFeatureTableEvent.emit(),setTimeout(()=>{i(),e(void 0)},2e3)})])}get getMaterialNameListEvent(){return this._getMaterialNameListEvent}getMaterialNameList(){return new Promise(e=>{const i=new d.Destroyable;i.d(this.getMaterialNameListEvent.don(n=>{n!=="start"&&(i.destroy(),e(n))})),this.getMaterialNameListEvent.emit("start"),setTimeout(()=>{i.isDestroyed()||(i.destroy(),e(void 0))},2e3)})}get setFeatureStyleEvent(){return this._setFeatureStyleEvent}setFeatureStyle(e){this._setFeatureStyleEvent.emit(e)}get setFeatureColorEvent(){return this._setFeatureColorEvent}setFeatureColor(e,i){this._setFeatureColorEvent.emit(e,typeof i=="string"?JSON.parse(i):i)}get setFeatureVisableEvent(){return this._setFeatureVisableEvent}setFeatureVisable(e,i){this._setFeatureVisableEvent.emit(e,typeof i=="string"?JSON.parse(i):i)}get resetFeatureStyleEvent(){return this._resetFeatureStyleEvent}resetFeatureStyle(){this._resetFeatureStyleEvent.emit()}get setMaterialEvent(){return this._setMaterialEvent}setMaterial(e){return new Promise(i=>{const n=new d.Destroyable;n.ad(this.setMaterialInfoEvent.donce(s=>{n.destroy(),i(s)})),this._setMaterialEvent.emit(e)})}get clippingPlanesId(){return this._clippingPlanesId.value}set clippingPlanesId(e){this._clippingPlanesId.value=e}get clippingPlanesIdChanged(){return this._clippingPlanesId.changed}get clippingPlaneIds(){return this._clippingPlaneIds.value}set clippingPlaneIds(e){this._clippingPlaneIds.value=e}get clippingPlaneIdsChanged(){return this._clippingPlaneIds.changed}get flattenedPlaneId(){return this._flattenedPlaneId.value}set flattenedPlaneId(e){this._flattenedPlaneId.value=e}get flattenedPlaneIdChanged(){return this._flattenedPlaneId.changed}get flattenedPlaneEnabled(){return this._flattenedPlaneEnabled.value}set flattenedPlaneEnabled(e){this._flattenedPlaneEnabled.value=e}get flattenedPlaneEnabledChanged(){return this._flattenedPlaneEnabled.changed}get clippingPlaneId(){return this._clippingPlaneId.value}set clippingPlaneId(e){this._clippingPlaneId.value=e}get clippingPlaneIdChanged(){return this._clippingPlaneId.changed}get excavateId(){return this._excavateId.value}set excavateId(e){this._excavateId.value=e}get excavateIdChanged(){return this._excavateId.changed}setLight122(){this.czmEnvironmentMapManager={...Fd}}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"dataSource",basic:[...e.basic,new Kt("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new tt("材质模式","materialMode",!0,!1,[this,"materialMode"],Jr.defaults.materialModes,"normal"),new tt("颜色模式","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["默认","HIGHLIGHT"],["替换","REPLACE"],["混合","MIX"]],"HIGHLIGHT"),new Y("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],Jr.defaults.materialOverrideMap)],dataSource:[...e.dataSource,new Y("服务地址","服务地址",!0,!1,[this,"url"],Jr.defaults.url)],coordinate:[...e.coordinate,new U("编辑","编辑",!0,!1,[this,"editing"],!1),new Qe("偏移","偏移量",!0,!1,[this,"offset"],[0,0,0]),new Zh("旋转","旋转",!1,!1,[this,"rotation"],[0,0,0])]}}getProperties(e){return[...super.getProperties(e),new H("ES3DTileset","ES3DTileset",[new Y("服务地址","服务地址",!1,!1,[this,"url"],Jr.defaults.url),new tt("materialMode","materialMode",!1,!1,[this,"materialMode"],Jr.defaults.materialModes),new Y("materialParams","materialParams",!1,!1,[this,"materialParams"],Jr.defaults.materialParams),new C("maximumScreenSpaceError","显示精度,maximumScreenSpaceError",!1,!1,[this,"maximumScreenSpaceError"]),new U("编辑","编辑",!1,!1,[this,"editing"],!1),new ln("offset","offset",!0,!1,[this,"offset"]),new ln("rotation","rotation",!1,!1,[this,"rotation"]),new Kt("精度","精度.",!1,!1,[this,"maximumScreenSpaceError"],1,[0,256],16),new mt("highlightFeature","highlightFeature",["string","string"],(i,n)=>this.highlightFeature(i,n),["","rgba(255,0,0,1)"]),new mt("setFeatureColor","setFeatureColor",["string","string"],(i,n)=>this.setFeatureColor(i,n),["",""]),new mt("setFeatureVisable","setFeatureVisable",["string","string"],(i,n)=>this.setFeatureVisable(i,n),["",""]),new mt("resetFeatureStyle","resetFeatureStyle",[],()=>this.resetFeatureStyle(),[]),new H("ue","ue",[new mt("refreshTileset","refreshTileset",[],()=>this.refreshTileset(),[]),new nt("actorTag","actorTag",!1,!1,[this,"actorTag"]),new U("是否高亮","是否高亮.",!1,!1,[this,"highlight"]),new it("highlightColor"," highlightColor.",!1,!1,[this,"highlightColor"]),new C("highlightID","highlightID",!1,!1,[this,"highlightID"]),new Y("materialOverrideMap","材质替换",!1,!1,[this,"materialOverrideMap"],Jr.defaults.materialOverrideMap)]),new H("czm","czm",[new H("可视化","可视化",[new se("czmImageBasedLightingFactor","反射强度 ,imageBasedLightingFactor",!1,!1,[this,"czmImageBasedLightingFactor"]),new C("czmAtmosphereScatteringIntensity","大气散射强度 ,atmosphereScatteringIntensity",!1,!1,[this,"czmAtmosphereScatteringIntensity"]),new Y("czmEnvironmentMapManager","动态环境贴图管理器",!1,!1,[this,"czmEnvironmentMapManager"]),new C("czmMaximumMemoryUsage","最大内存,maximumMemoryUsage",!1,!1,[this,"czmMaximumMemoryUsage"])]),new H("常用","常用",[new tt("czmClassificationType","Determines whether terrain, 3D Tiles or both will be classified by this tileset. See Cesium3DTileset#czmClassificationType for details about restrictions and limitations.",!0,!1,[this,"czmClassificationType"],[["NONE","NONE"],["TERRAIN","TERRAIN"],["CESIUM_3D_TILE","CESIUM_3D_TILE"],["BOTH","BOTH"]]),new Y("czmStyle","czmStyle",!1,!1,[this,"czmStyleJson"]),new U("czmBackFaceCulling","czmBackFaceCulling",!1,!1,[this,"czmBackFaceCulling"]),new U("czmSkipLevelOfDetail","czmSkipLevelOfDetail",!1,!1,[this,"czmSkipLevelOfDetail"]),new tt("colorBlendMode","颜色混合模式",!1,!1,[this,"colorBlendMode"],[["HIGHLIGHT","HIGHLIGHT"],["REPLACE","REPLACE"],["MIX","MIX"]],"HIGHLIGHT"),new C("cacheBytes","最大缓存占用,超过的会自动卸载,但是视野范围内能看见的保留。单位字节。Cesium1.110(含)以后的版本起作用。",!1,!1,[this,"cacheBytes"],536870912)]),new H("调试信息","调试信息",[new U("czmDebugShowBoundingVolume","For debugging only.When true, renders the bounding volume for each tile.",!1,!1,[this,"czmDebugShowBoundingVolume"]),new U("czmDebugShowContentBoundingVolume","czmDebugShowContentBoundingVolume.",!1,!1,[this,"czmDebugShowContentBoundingVolume"])]),new H("clippingPlanes","clippingPlanes",[new U("clippingPlaneEnabled","clippingPlaneEnabled",!1,!1,[this,"clippingPlaneEnabled"]),new U("unionClippingRegions","unionClippingRegions",!1,!1,[this,"unionClippingRegions"]),new it("clippingPlaneEdgeColor","clippingPlaneEdgeColor",!1,!1,[this,"clippingPlaneEdgeColor"]),new C("clippingPlaneEdgeWidth","clippingPlaneEdgeWidth",!1,!1,[this,"clippingPlaneEdgeWidth"])])])])]}};p(Jr,"type",Jr.register("ES3DTileset",Jr,{chsName:"3DTileset",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"3DTileset"})),p(Jr,"supportEditingModes",[...Ot.supportEditingModes,vt.Translation,vt.Rotation]),p(Jr,"defaults",{...Ot.defaults,url:"",actorTag:"",materialMode:"normal",materialModes:[["常规","normal"],["科技感","technology"]],offset:[0,0,0],materialParams:{baseColor:[0,.5,1]},cacheBytes:536870912,materialOverrideMap:{},featureIdLabel:0,splitDirection:"NONE",splitDirectionEnum:[["LEFT","LEFT"],["NONE","NONE"],["RIGHT","RIGHT"]]});let Je=Jr;(r=>{r.createDefaultProps=()=>({...Ot.createDefaultProps(),url:"",actorTag:"",materialMode:"normal",highlight:!1,maximumScreenSpaceError:16,highlightID:0,highlightColor:d.reactArray([1,0,0,1]),offset:d.reactArrayWithUndefined(void 0),rotation:d.reactArray([0,0,0]),czmImageBasedLightingFactor:d.reactArray([1,1]),czmEnvironmentMapManager:d.reactJsonWithUndefined(void 0),czmLuminanceAtZenith:2,czmAtmosphereScatteringIntensity:2,czmMaximumMemoryUsage:512,czmClassificationType:"NONE",czmStyleJson:d.reactJson({}),czmBackFaceCulling:!0,czmDebugShowBoundingVolume:!1,czmDebugShowContentBoundingVolume:!1,czmSkipLevelOfDetail:!1,cacheBytes:536870912,colorBlendMode:"HIGHLIGHT",clippingPlaneEnabled:!0,unionClippingRegions:!0,clippingPlaneEdgeColor:d.reactArray([1,1,1,1]),clippingPlaneEdgeWidth:2,materialParams:{baseColor:[0,.5,1]},allowPicking:!0,materialOverrideMap:d.reactJsonWithUndefined(void 0),featureIdLabel:0,splitDirection:"NONE"})})(Je||(Je={})),d.extendClassProps(Je.prototype,Je.createDefaultProps);const Fs=class Fs extends ${constructor(e){super(e);p(this,"_isFlyInCreated",this.dv(d.react(!1)));p(this,"_readyEvent",this.dv(new d.Event));this.collision=!1,this.d(this.createdEvent.don(()=>{setTimeout(()=>{if((this.editing??!1)||!this.position){const n=this.dv(d.createNextAnimateFrameEvent(this.positionChanged,this.editingChanged));this.d(n.donce(()=>{this.editing||!this.position||this.isFlyInCreated&&this.flyTo()}))}else{if(!this.isFlyInCreated)return;this.flyTo()}},1e3)}))}get typeName(){return"ESAlarm"}get defaultProps(){return Fs.createDefaultProps()}get isFlyInCreated(){return this._isFlyInCreated.value}set isFlyInCreated(e){this._isFlyInCreated.value=e}get isFlyInCreatedChanged(){return this._isFlyInCreated.changed}get readyEvent(){return this._readyEvent}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new tt("模式","mode",!1,!1,[this,"mode"],Fs.defaults.modes,"cylinder"),new C("半径","radius",!1,!1,[this,"radius"],10)]}}getProperties(e){return[...super.getProperties(e),new H("通用","通用",[new tt("mode","mode",!1,!1,[this,"mode"],Fs.defaults.modes),new C("半径","radius",!1,!1,[this,"radius"])])]}};p(Fs,"type",Fs.register("ESAlarm",Fs,{chsName:"报警",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警告类"})),p(Fs,"defaults",{...$.defaults,modes:[["柱状警告","cylinder"],["圆形警告","circle"]],radius:10,czmAnimations:[{index:0,loop:"REPEAT",animationTime:"(duration) => Date.now() / 1000 / duration * 2"}]});let ro=Fs;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),mode:"cylinder",radius:10})})(ro||(ro={})),d.extendClassProps(ro.prototype,ro.createDefaultProps);const xn=class xn extends ${get typeName(){return"ESApertureEffect"}get defaultProps(){return xn.createDefaultProps()}constructor(t){super(t),this.collision=!1}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new C("半径","radius",!1,!1,[this,"radius"],1),new tt("模式","mode",!1,!1,[this,"mode"],xn.defaults.modes,xn.defaults.mode)]}}getProperties(t){return[...super.getProperties(t),new C("半径","radius",!1,!1,[this,"radius"]),new tt("模式","mode",!1,!1,[this,"mode"],xn.defaults.modes,xn.defaults.mode)]}};p(xn,"type",xn.register("ESApertureEffect",xn,{chsName:"光圈特效",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"光圈特效"})),p(xn,"defaults",{...$.defaults,radius:1,mode:"scan",modes:[["扫描","scan"],["扩散","diffuse"]]});let io=xn;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),radius:1,mode:"scan"})})(io||(io={})),d.extendClassProps(io.prototype,io.createDefaultProps);const Di=class Di extends wt{constructor(e){super(e);p(this,"editingBindMode","circular");this.collision=Di.defaults.collision,this.filled=Di.defaults.filled,this.stroked=Di.defaults.stroked,this.fillStyle=Di.defaults.fillStyle,this.strokeStyle=Di.defaults.strokeStyle}get typeName(){return"ESGeoPolygon"}get defaultProps(){return Di.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,coordinate:[...e.coordinate,new C("面积","面积",!1,!0,[this,"area"]),new C("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(e){return[...super.getProperties(e),new H("ESGeoPolygon","ESGeoPolygon",[new C("面积","面积",!1,!0,[this,"area"]),new C("周长","周长",!1,!0,[this,"perimeter"])])]}};p(Di,"type",Di.register("ESGeoPolygon",Di,{chsName:"地理多边形",tags:["ESObjects"],description:"地理多边形"})),p(Di,"supportEditingModes",[...wt.supportEditingModes,vt.CircularAppend,vt.CircularInsert]),p(Di,"defaults",{...wt.defaults,fillStyle:{color:[1,1,1,.5],material:"",materialParams:{},ground:!1},strokeStyle:{width:1,widthType:"screen",color:[1,1,1,1],material:"",materialParams:{},ground:!1},filled:!0,stroked:!1,collision:!1});let At=Di;(r=>{r.createDefaultProps=()=>({...wt.createDefaultProps()})})(At||(At={})),d.extendClassProps(At.prototype,At.createDefaultProps);const On=class On extends At{get typeName(){return"ESAreaMeasurement"}get defaultProps(){return On.createDefaultProps()}get fillMaterial(){return this.fillStyle.material}set fillMaterial(t){this.fillStyle={...this.fillStyle,material:t}}get fillMaterialParams(){return this.fillStyle?this.fillStyle.materialParams:On.defaults.fillStyle.materialParams}set fillMaterialParams(t){this.fillStyle={...this.fillStyle??On.defaults.fillStyle,materialParams:t??On.defaults.fillStyle.materialParams}}constructor(t){super(t),this.fillStyle.ground=!0,this.strokeStyle.width=2}getProperties(t){return[...super.getProperties(t)]}};p(On,"type",On.register("ESAreaMeasurement",On,{chsName:"面积测量",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"面积测量"})),p(On,"defaults",{...At.defaults,fillStyle:{color:[1,1,1,1],material:"Material'/EarthSDKForUE/M_ES_Material.M_ES_Material'",materialParams:{Opacity:.4},ground:!1},unitsMode:[["平方米_平方千米","SquareMeter_SquareKilometer"],["亩_公顷","MU_Hectare"],["周长米_周长千米","PerimeterMeter_PerimeterKilometer"]]}),p(On,"createDefaultProps",()=>({...At.createDefaultProps(),stroked:!0,filled:!0,units:d.reactArray(["SquareMeter_SquareKilometer","MU_Hectare","PerimeterMeter_PerimeterKilometer"])}));let zh=On;d.extendClassProps(zh.prototype,zh.createDefaultProps);const _l=class _l extends ${get typeName(){return"ESBlastParticleSystem"}get defaultProps(){return _l.createDefaultProps()}constructor(t){super(t)}getESProperties(){return{...{...super.getESProperties()},defaultMenu:"general"}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new H("czm","czm",[new qu("图片","The URI, HTMLImageElement, or HTMLCanvasElement to use for the billboard.",!1,!1,[this,"image"]),new Qe("偏移","translation",!1,!1,[this,"translation"])])])]}};p(_l,"type",_l.register("ESBlastParticleSystem",_l,{chsName:"粒子爆炸",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"粒子爆炸"})),p(_l,"defaults",{...$.defaults,image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",translation:[0,0,0]});let no=_l;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),image:"${earthsdk3-assets-script-dir}/assets/img/smoke.png",positionEditing:void 0,translation:d.reactArray([0,0,0])})})(no||(no={})),d.extendClassProps(no.prototype,no.createDefaultProps);const yr=class yr extends ${get typeName(){return"ESBoxClipping"}get defaultProps(){return{...yr.createDefaultProps()}}constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new U("反转","reverse",!1,!1,[this,"reverse"],yr.defaults.reverse),new Qe("尺寸","长宽高",!1,!1,[this,"size"],yr.defaults.size),new it("边框颜色","edgeColor",!1,!1,[this,"edgeColor"],yr.defaults.edgeColor),new C("边框宽度","edgeWidth",!1,!1,[this,"edgeWidth"],yr.defaults.edgeWidth),new nt("瓦片图层","targetID",!1,!1,[this,"targetID"],yr.defaults.targetID)]}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new U("reverse","reverse",!1,!1,[this,"reverse"],yr.defaults.reverse),new it("edgeColor","edgeColor",!1,!1,[this,"edgeColor"],yr.defaults.edgeColor),new C("edgeWidth","edgeWidth",!1,!1,[this,"edgeWidth"],yr.defaults.edgeWidth),new Qe("尺寸","长宽高",!1,!1,[this,"size"],yr.defaults.size),new nt("targetID","targetID",!1,!1,[this,"targetID"],yr.defaults.targetID)])]}};p(yr,"type",yr.register("ESBoxClipping",yr,{chsName:"体剖切",tags:["ESObjects","_ES_Impl_Cesium"],description:"体剖切,体裁剪,体裁切,盒裁切"})),p(yr,"defaults",{...$.defaults,reverse:!1,edgeColor:[1,1,1,1],edgeWidth:1,size:[10,10,10],targetID:""});let so=yr;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),reverse:!1,edgeColor:d.reactArray([1,1,1,1]),edgeWidth:2,size:d.reactArray([10,10,10]),targetID:""})})(so||(so={})),d.extendClassProps(so.prototype,so.createDefaultProps);const Gs=class Gs extends ${constructor(){super(...arguments);p(this,"_thumbnail",this.dv(d.react("")));p(this,"_duration",this.dv(d.react(1)));p(this,"_resetWithCurrentCameraEvent",this.dv(new d.Event));p(this,"_captureEvent",this.dv(new d.Event))}get typeName(){return"ESCameraView"}get defaultProps(){return Gs.createDefaultProps()}get thumbnail(){return this._thumbnail.value}set thumbnail(e){this._thumbnail.value=e}get thumbnailChanged(){return this._thumbnail.changed}get duration(){return this._duration.value}set duration(e){this._duration.value=e}get durationChanged(){return this._duration.changed}flyIn(e=1,i="default"){this.flyInEvent.emit(e,-1,i)}get resetWithCurrentCameraEvent(){return this._resetWithCurrentCameraEvent}resetWithCurrentCamera(){this._resetWithCurrentCameraEvent.emit()}get captureEvent(){return this._captureEvent}capture(e,i){this._captureEvent.emit(e,i)}execOnCreating(){this.resetWithCurrentCamera()}async initByCurrent(){this.resetWithCurrentCamera()}getProperties(e){return[...super.getProperties(e),new H("ESCameraView","ESCameraView",[new mt("设置为当前视角","resetWithCurrentCamera",[],()=>this.resetWithCurrentCamera(),[]),new mt("获取缩略图","获取缩略图",["number","number"],(i,n)=>this.capture(i,n),[Gs.defaults.thumbnailWidth,Gs.defaults.thumbnailHeight]),new nt("缩略图","缩略图",!0,!1,[this,"thumbnail"]),new C("飞行时间","飞行时间(秒)",!0,!1,[this,"duration"])])]}};p(Gs,"type",Gs.register("ESCameraView",Gs,{chsName:"视角",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角"})),p(Gs,"defaults",{...$.defaults,thumbnailWidth:64,thumbnailHeight:64,duration:1,thumbnail:""});let ya=Gs;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps()})})(ya||(ya={})),d.extendClassProps(ya.prototype,ya.createDefaultProps);class $c extends d.Destroyable{constructor(e,i,n){super();p(this,"_view",this.dv(new ya));if(this.d(e.components.disposableAdd(this._view)),this._view.name=(n==null?void 0:n.name)??`视角${e.views.length+1}`,i){const o=this._view,l=i;o.duration=l.duration??1,o.position=l.position,o.rotation=l.rotation??[0,0,0],o.thumbnail=l.thumbnail??"",o.name=l.name}else{const o=(n==null?void 0:n.size)??[64,64];this.d(d.nextAnimateFrame(()=>{this._view.resetWithCurrentCamera(),this._view.capture(o[0],o[1])}))}const s=this._view,a=this.dv(d.createNextAnimateFrameEvent(s.durationChanged,s.positionChanged,s.rotationChanged,s.thumbnailChanged,s.nameChanged));this.d(a.don(()=>e.emitViewsWarpper()))}get view(){return this._view}get viewInfo(){const e=this._view;return{duration:e.duration,position:e.position,rotation:e.rotation,thumbnail:e.thumbnail,name:e.name}}}const Kr=class Kr extends ft{constructor(e){super(e);p(this,"_currentViewIndex",this.dv(d.react(-1)));p(this,"_viewWrappers",this.dv(new d.ObservableArray));p(this,"_currentViewWrapper",this.dv(d.react(void 0)));p(this,"_container",this.dv(d.react(void 0)));{const i=this.dv(d.createProcessingFromAsyncFunc(async s=>{var a;do{if(!this.flyToNextView())break;const o=this.intervalTime??Kr.defaults.intervalTime,u=((((a=this._currentViewWrapper.value)==null?void 0:a.viewInfo.duration)??0)+o)*1e3;await s.promise(d.sleep(u))}while(!0);this.playing=!1})),n=()=>{this.playing?i.restart():i.cancel()};n(),this.d(this.playingChanged.don(n))}{const i=()=>{if(!this._currentViewWrapper.value)return;this._viewWrappers.indexOf(this._currentViewWrapper.value)===-1&&(this._currentViewWrapper.value=void 0)};i(),this.d(this._viewWrappers.changedEvent.don(i))}{const i=()=>{const n=this._currentViewWrapper.value;this._currentViewIndex.value=n?this._getIndex(n):-1};i(),this.d(this._viewWrappers.changedEvent.don(i)),this.d(this._currentViewWrapper.changed.don(i))}this.d(()=>{this.clearAllViews()})}get typeName(){return"ESCameraViewCollection"}get defaultProps(){return Kr.createDefaultProps()}get json(){return{...this._innerGetJson(),views:this.views}}set json(e){this._innerSetJson(e),this.views=e.views}get currentViewIndex(){return this._currentViewIndex.value}get currentViewIndexChanged(){return this._currentViewIndex.changed}emitViewsWarpper(){this._viewWrappers.changedEvent.emit(this._viewWrappers)}get container(){return this._container.value}get containerChanged(){return this._container.changed}set container(e){this._container.value=e}get views(){return dp(this._viewWrappers,e=>e.viewInfo)}get viewsChanged(){return this._viewWrappers.changedEvent}set views(e){if(e.length===this._viewWrappers.length){const i=this._viewWrappers;if(e.every((n,s)=>{const a=i.get(s).view;return n.duration===a.duration&&_f(n.position,a.position)&&_f(n.rotation,a.rotation)&&n.thumbnail===a.thumbnail&&n.name===a.name}))return}this.clearAllViews();for(let i of e)this._viewWrappers.push(new $c(this,i))}_getIndex(e){return this._viewWrappers.indexOf(e)}clearAllViews(){for(let e of this._viewWrappers)e.destroy();this._viewWrappers.length=0}add(e=`视角${this.views.length+1}`,i=[64,64]){this._viewWrappers.push(new $c(this,void 0,{name:e,size:i}))}update(e,i,n=[64,64]){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const s=this._viewWrappers.get(e);return i&&(s.view.name=i),s.view.resetWithCurrentCamera(),s.view.capture(n[0],n[1]),!0}addView(){this._viewWrappers.push(new $c(this))}insertView(e){if(this._viewWrappers.length+1<=e||e<0){console.error("this._views.length <= index || index < 0");return}this._viewWrappers.splice(e,0,new $c(this))}setCurrentView(e){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const i=this._viewWrappers.get(e);return this._currentViewWrapper.value=i,!0}resetView(e){if(e>=this._viewWrappers.length||e<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const i=this._viewWrappers.get(e);i.view.resetWithCurrentCamera(),i.view.capture()}resetViewName(e,i){if(e>=this._viewWrappers.length||e<0){console.warn("index >= this._viewWrappers.length || index < 0");return}const n=this._viewWrappers.get(e);n.view.name=i}updateView(e,i){if(e>=this._viewWrappers.length||e<0)return console.warn("index >= this._viewWrappers.length || index < 0"),!1;const n=this._viewWrappers.get(e);return n.view.position=i.position,n.view.rotation=i.rotation??[0,0,0],n.view.duration=i.duration??1,n.view.thumbnail=i.thumbnail??"",n.view.name=i.name??"",!0}flyToView(e){if(this.setCurrentView(e)){if(!this._currentViewWrapper.value)throw new Error("this._currentViewWrapper.value");const i=this._currentViewWrapper.value.view.duration;this._currentViewWrapper.value.view.flyIn(i,this.flyMode??Kr.defaults.flyMode)}}flyToPrevView(){const e=this._currentViewWrapper.value;if(!e)return this.flyToView(0),!0;const i=this._getIndex(e);return this.loop??Kr.defaults.loop?(this.flyToView((this._viewWrappers.length+i-1)%this._viewWrappers.length),!0):i-1<0?!1:(this.flyToView(i-1),!0)}moveToPreView(){const e=this._currentViewWrapper.value;if(!e)return;const i=this._getIndex(e);if(i===0)return;const n=this._viewWrappers.splice(i-1,1,e)[0];this._viewWrappers.set(i,n)}moveToNextView(){const e=this._currentViewWrapper.value;if(!e)return;const i=this._getIndex(e);if(i===this._viewWrappers.length-1)return;const n=this._viewWrappers.splice(i+1,1,e)[0];this._viewWrappers.set(i,n)}flyToNextView(){const e=this._currentViewWrapper.value;if(!e)return this.flyToView(0),!0;const i=this._getIndex(e);return this.loop??Kr.defaults.loop?(this.flyToView((i+1)%this._viewWrappers.length),!0):i+1>this._viewWrappers.length-1?!1:(this.flyToView(i+1),!0)}stop(){this._currentViewWrapper.value=void 0,this.playing=!1}deleteView(e){if(e<0||e>=this._viewWrappers.length){console.warn("index < 0 || index >= this._viewWrappers.length");return}this._viewWrappers.get(e).destroy(),this._viewWrappers.splice(e,1)}deleteCurrentView(){const e=this._currentViewWrapper.value;if(!e){console.warn("!this._currentViewWrapper.value");return}const i=this._getIndex(e);if(i===-1){console.warn("index === -1");return}this.deleteView(i)}transitionImageUrl(e){return ft.context.getStrFromEnv(e)}getProperties(e){return[...super.getProperties(e),new H("ESCameraViewCollection","ESCameraViewCollection",[new tt("飞行模式","flyMode",!1,!1,[this,"flyMode"],Kr.defaults.flyModes,Kr.defaults.flyMode),new mt("添加视角","添加视角",[],()=>this.addView(),[]),new mt("插入视角","插入视角",["number"],i=>this.insertView(i),[0]),new mt("清空所有视角","清空所有视角",[],()=>this.clearAllViews(),[]),new mt("当前位置插入视角","当前位置插入视角",[],()=>this.insertView(this.currentViewIndex+1),[]),new mt("上一个视角","上一个视角",[],()=>this.flyToPrevView(),[]),new mt("下一个视角","下一个视角",[],()=>this.flyToNextView(),[]),new mt("当前视角移动到上一个视角","当前视角移动到上一个视角",[],()=>this.moveToPreView(),[]),new mt("当前视角移动到下一个视角","当前视角移动到下一个视角",[],()=>this.moveToNextView(),[]),new mt("飞入指定视角","飞入指定视角",["number"],i=>this.flyToView(i),[0]),new mt("设置当前视角","设置当前视角",["number"],i=>this.setCurrentView(i),[0]),new mt("删除当前视角","删除当前视角",[],()=>this.deleteCurrentView(),[]),new mt("删除指定视角","删除指定视角",["number"],i=>this.deleteView(i),[0]),new mt("重置视角","重置视角",["number"],i=>this.resetView(i),[0]),new C("当前序号","当前序号",!1,!0,[this,"currentViewIndex"]),new hp("播放","播放",[this,"playing"],()=>this.stop(),[this,"loop"],Kr.defaults),new U("是否播放","是否播放.",!1,!1,[this,"playing"]),new mt("停止","停止",[],()=>this.stop(),[]),new U("是否循环","是否循环.",!1,!1,[this,"loop"]),new C("间隔时间","间隔时间(s)",!1,!1,[this,"intervalTime"]),new Y("视角集合","类型为ESJViewInfo[]",!0,!1,[this,"views"],Kr.defaults.views)])]}};p(Kr,"type",Kr.register("ESCameraViewCollection",Kr,{chsName:"视角集合",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"视角集合"})),p(Kr,"defaults",{...ft.defaults,loop:!0,playing:!1,intervalTime:5,duration:1,views:[],flyMode:"default",flyModes:[["默认","default"],["直线飞行","uniform"]]});let _a=Kr;(r=>{r.createDefaultProps=()=>({...ft.createDefaultProps(),playing:!1,loop:!0,intervalTime:5,flyMode:"default"})})(_a||(_a={})),d.extendClassProps(_a.prototype,_a.createDefaultProps);const wl=class wl extends ${constructor(e){super(e);p(this,"editingBindMode","doublePoints")}get typeName(){return"ESCameraVisibleRange"}get defaultProps(){return wl.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new C("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"],1.77778),new C("横向夹角","fov",!1,!1,[this,"fov"],90),new C("视野长度","far",!1,!1,[this,"far"],100),new C("近面距离","near",!1,!1,[this,"near"],5)]}}getProperties(e){return[...super.getProperties(e),new C("横向夹角","fov",!1,!1,[this,"fov"]),new C("宽高比","aspectRatio",!1,!1,[this,"aspectRatio"]),new C("视野长度","far",!1,!1,[this,"far"]),new C("近面距离","near",!1,!1,[this,"near"])]}};p(wl,"type",wl.register("ESCameraVisibleRange",wl,{chsName:"摄像头可视域",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"摄像头可视域"})),p(wl,"defaults",{...$.defaults,fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1});let ao=wl;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),fov:90,aspectRatio:1.77778,far:100,near:5,collision:!1})})(ao||(ao={})),d.extendClassProps(ao.prototype,ao.createDefaultProps);const ks=class ks extends ${get typeName(){return"ESCar"}get defaultProps(){return ks.createDefaultProps()}constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new tt("模式","mode",!1,!1,[this,"mode"],ks.defaults.modeEnum,"policeCar")]}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new tt("mode","mode",!1,!1,[this,"mode"],ks.defaults.modeEnum)])]}};p(ks,"type",ks.register("ESCar",ks,{chsName:"车辆",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"警车等基础车辆模型"})),p(ks,"defaults",{...$.defaults,modeEnum:[["警车","policeCar"]],mode:"policeCar"});let oo=ks;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),mode:"policeCar",allowPicking:!0})})(oo||(oo={})),d.extendClassProps(oo.prototype,oo.createDefaultProps);const Ca=class Ca extends wt{constructor(e){super(e);p(this,"editingBindMode","circular");this.fillGround=!0}get typeName(){return"ESClassification"}get defaultProps(){return Ca.createDefaultProps()}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new C("高度","高度",!1,!1,[this,"height"],10)],coordinate:[...e.coordinate,new C("面积","面积",!1,!0,[this,"area"]),new C("周长","周长",!1,!0,[this,"perimeter"])]}}getProperties(e){return[...super.getProperties(e),new H("通用","通用",[new C("高度","高度",!1,!1,[this,"height"])])]}};p(Ca,"type",Ca.register("ESClassification",Ca,{chsName:"倾斜单体化",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"平尾箭头"})),p(Ca,"supportEditingModes",[...wt.supportEditingModes,vt.CircularAppend,vt.CircularInsert,vt.HeightModify]),p(Ca,"defaults",{...wt.defaults,fillStyle:{material:"",materialParams:{},ground:!0,color:[1,1,1,1]},filled:!0});let wa=Ca;(r=>{r.createDefaultProps=()=>({...wt.createDefaultProps(),height:10,filled:!0})})(wa||(wa={})),d.extendClassProps(wa.prototype,wa.createDefaultProps);const El=class El extends ${get typeName(){return"ESClippingPlane"}get defaultProps(){return El.createDefaultProps()}constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new U("显示箭头","显示箭头",!1,!1,[this,"showArrow"],!0),new it("线框颜色","edgeColor",!1,!1,[this,"edgeColor"],[1,1,1,1]),new C("线框宽度","edgetWidth",!1,!1,[this,"edgetWidth"],2),new C("裁剪宽度","width",!1,!1,[this,"width"],200),new C("裁剪高度","height",!1,!1,[this,"height"],200),new nt("瓦片图层","targetID",!1,!1,[this,"targetID"],"")]}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new H("czm","czm",[new U("显示箭头","显示箭头",!1,!1,[this,"showArrow"]),new it("edgeColor","edgeColor",!1,!1,[this,"edgeColor"]),new C("edgetWidth","edgetWidth",!1,!1,[this,"edgetWidth"]),new C("width","width",!1,!1,[this,"width"]),new C("height","height",!1,!1,[this,"height"]),new nt("targetID","targetID",!1,!1,[this,"targetID"])])])]}};p(El,"type",El.register("ESClippingPlane",El,{chsName:"裁切",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"ESClippingPlane"})),p(El,"defaults",{...$.defaults});let lo=El;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),showArrow:!0,edgeColor:d.reactArray([1,1,1,1]),edgetWidth:2,width:200,height:200,targetID:""})})(lo||(lo={})),d.extendClassProps(lo.prototype,lo.createDefaultProps);class QC extends d.Destroyable{constructor(t,e,i){super();const n=document.createElement("div");n.setAttribute("xe2-div",`ESCustomDiv(${e.id})(viewer: ${i.id}) container`);{const l=()=>{const c=` ${e.cssText}
49
49
  ${e.cssAllInitial?"all: initial;":""}
50
50
  ${e.show?"":"display: none"}
51
51
  `;n.style.cssText=c};l();const u=this.dv(d.createNextAnimateFrameEvent(e.cssAllInitialChanged,e.cssTextChanged,e.showChanged));this.d(u.don(l))}t.appendChild(n),this.d(()=>t.removeChild(n));const s=this.dv(d.createNextAnimateFrameEvent(e.instanceClassChanged,e.containerChanged,e.shadowDomChanged)),a=this.dv(new d.ObjResettingWithEvent(s,()=>{const{instanceClass:l,container:u}=e;if(!l||u)return;let c=n;if(n.firstElementChild&&n.removeChild(n.firstElementChild),e.shadowDom){const h=n.appendChild(document.createElement("div"));h.setAttribute("xe2-div",`ESCustomDiv(${e.id})(viewer: ${i.id}) container shadowDiv`),c=h.attachShadow({mode:"open"}).appendChild(document.createElement("div")),c.setAttribute("xe2-div",`ESCustomDiv(${e.id})(viewer: ${i.id}) container shadowDiv div`)}return new l(c,e,i)})),{_updateEvent:o}=e;this.d(o.don(l=>{if(a.obj)try{l(a.obj,e,i)}catch(u){console.error(`ESCustomDiv update error! ${u}`)}}))}}const O0=`class MyDiv {
@@ -534,10 +534,10 @@ ${$0}
534
534
  `,j0=Date.now();new Date(j0).toISOString(),new Date(j0+864e5).toISOString();const Ge=class Ge extends ft{constructor(e){super(e);p(this,"_flyToEvent",this.disposeVar(new d.Event));p(this,"_resetClockEvent",this.disposeVar(new d.Event))}get typeName(){return"ESCzml"}get defaultProps(){return Ge.createDefaultProps()}get flyToEvent(){return this._flyToEvent}flyTo(e){this._flyToEvent.emit(e)}get resetClockEvent(){return this._resetClockEvent}resetClock(){this._resetClockEvent.emit()}getESProperties(){const e={...super.getESProperties()};return{...e,defaultMenu:"basic",basic:[...e.basic,new Y("数据","数据",!0,!1,[this,"data"],Ge.defaults.data,Ge.defaults.dataMd),new Y("路径","路径",!1,!1,[this,"uri"],""),new U("启用","启用",!1,!1,[this,"clockEnabled"],!1),new C("倍速","倍速.",!1,!1,[this,"multiplier"],Ge.defaults.multiplier),new U("自动设置时钟","自动设置时钟",!1,!1,[this,"autoResetClock"],!0),new Gn("开始时间","开始时间",!0,!1,[this,"startTime"],Ge.defaults.startTime),new Gn("结束时间","结束时间",!0,!1,[this,"stopTime"],Ge.defaults.stopTime),new Gn("当前时间","当前时间",!0,!1,[this,"currentTime"],Ge.defaults.currentTime),new tt("clockStep","clockStep",!1,!1,[this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]],"SYSTEM_CLOCK_MULTIPLIER"),new tt("clockRange","clockRange",!1,!1,[this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]],"UNBOUNDED"),new U("是否启用动画","是否启用动画",!1,!1,[this,"shouldAnimate"],!1)],general:[...e.general,new nt("唯一标识","id",!1,!0,[this,"id"]),new nt("名称","name",!0,!1,[this,"name"]),new U("是否显示","show",!1,!1,[this,"show"],!0),new U("开启碰撞","collision",!1,!1,[this,"collision"],!1),new U("允许拾取","allowPicking",!1,!1,[this,"allowPicking"],!1)]}}getProperties(e){return[...super.getProperties(e),new H("通用","通用",[new U("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new U("允许拾取","是否允许拾取",!1,!1,[this,"allowPicking"]),new mt("飞入","飞入",["number"],i=>this.flyTo(i),[1e3]),new Y("数据","数据",!0,!1,[this,"data"],Ge.defaults.data,Ge.defaults.dataMd),new Y("路径","路径",!1,!1,[this,"uri"]),new U("自动设置时钟","自动设置时钟",!1,!1,[this,"autoResetClock"]),new mt("重设时钟","根据当前加载的数据重设始终",[],()=>this.resetClock(),[]),new Fn("loadFnStr","loadFnStr",!0,!1,[this,"loadFuncStr"],Ge.defaults.defaultLoadFuncStr,Ge.defaults.defaultLoadFuncDocStr)]),new H("时钟","时钟",[new U("启用","启用",!1,!1,[this,"clockEnabled"]),new Gn("开始时间","开始时间",!0,!1,[this,"startTime"],Ge.defaults.startTime),new Gn("结束时间","结束时间",!0,!1,[this,"stopTime"],Ge.defaults.stopTime),new Gn("当前时间","当前时间",!0,!1,[this,"currentTime"],Ge.defaults.currentTime),new C("倍速","倍速.",!1,!1,[this,"multiplier"],Ge.defaults.multiplier),new tt("clockStep","clockStep",!1,!1,[this,"clockStep"],[["TICK_DEPENDENT","TICK_DEPENDENT"],["SYSTEM_CLOCK_MULTIPLIER","SYSTEM_CLOCK_MULTIPLIER"],["SYSTEM_CLOCK","SYSTEM_CLOCK"]]),new tt("clockRange","clockRange",!1,!1,[this,"clockRange"],[["UNBOUNDED","UNBOUNDED"],["CLAMPED","CLAMPED"],["LOOP_STOP","LOOP_STOP"]]),new U("是否启用动画","是否启用动画",!1,!1,[this,"shouldAnimate"])])]}};p(Ge,"type",Ge.register("ESCzml",Ge,{chsName:"ESCzml",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"Czml数据加载"})),p(Ge,"defaults",{...ft.defaults,show:!0,allowPicking:!0,data:yI,dataMd:_I,autoResetClock:!0,clockEnabled:!1,startTime:()=>Date.now(),stopTime:()=>Date.now()+864e5,currentTime:()=>Date.now(),multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,uri:"${earthsdk3-assets-script-dir}/assets/misc/simple.czml",defaultLoadFuncStr:$0,defaultLoadFuncDocStr:wI});let hl=Ge;(r=>{r.createDefaultProps=()=>({show:!0,uri:"",allowPicking:!1,data:d.reactJsonWithUndefined(void 0),autoResetClock:!0,clockEnabled:!1,startTime:void 0,stopTime:void 0,currentTime:void 0,multiplier:1,clockStep:"SYSTEM_CLOCK_MULTIPLIER",clockRange:"UNBOUNDED",shouldAnimate:!1,loadFuncStr:void 0,...ft.createDefaultProps()})})(hl||(hl={})),d.extendClassProps(hl.prototype,hl.createDefaultProps);const zl=class zl extends ft{get typeName(){return"ESNavigator"}get defaultProps(){return zl.createDefaultProps()}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new U("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"]),new C("尺寸","尺寸",!1,!1,[this,"cssSize"]),new se("位置","位置(top,right)",!1,!1,[this,"cssPosition"]),new qu("图片地址","图片地址",!1,!1,[this,"imgUrl"])])]}};p(zl,"type",zl.register("ESNavigator",zl,{chsName:"导航控件",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"导航控件"})),p(zl,"defaults",{...ft.defaults,show:!0,cssPosition:[170,30],cssSize:100,imgUrl:ft.context.getStrFromEnv("${earthsdk3-assets-script-dir}/assets/img/zhinanzhen.png")});let cl=zl;(r=>{r.createDefaultProps=()=>({...ft.createDefaultProps(),show:!0,cssSize:100,cssPosition:[170,30],imgUrl:r.defaults.imgUrl})})(cl||(cl={})),d.extendClassProps(cl.prototype,cl.createDefaultProps);const Ln=class Ln extends ft{get typeName(){return"ESViewerStatusBar"}get defaultProps(){return Ln.createDefaultProps()}constructor(t){super(t)}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new U("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Ln.defaults.show),new C("高度","height",!0,!1,[this,"height"],Ln.defaults.height),new C("文字大小","fontSize",!0,!1,[this,"fontSize"],Ln.defaults.fontSize),new it("背景颜色"," 背景颜色",!0,!1,[this,"bgColor"],Ln.defaults.bgColor)])]}};p(Ln,"type",Ln.register("ESViewerStatusBar",Ln,{chsName:"状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"})),p(Ln,"defaults",{...ft.defaults,show:!0,height:30,fontSize:14,bgColor:[71,71,71,.8]});let fl=Ln;(r=>{r.createDefaultProps=()=>({...ft.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:d.reactArray([.2784313725490196,.2784313725490196,.2784313725490196,.8])})})(fl||(fl={})),d.extendClassProps(fl.prototype,fl.createDefaultProps);const Rn=class Rn extends ft{get typeName(){return"ESViewerStatusBarScale"}get defaultProps(){return Rn.createDefaultProps()}constructor(t){super(t)}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new U("是否显示","A boolean Property specifying the visibility .",!1,!1,[this,"show"],Rn.defaults.show),new C("高度","height",!0,!1,[this,"height"],Rn.defaults.height),new C("文字大小","fontSize",!0,!1,[this,"fontSize"],Rn.defaults.fontSize),new it("背景颜色"," 背景颜色",!0,!1,[this,"bgColor"],Rn.defaults.bgColor)])]}};p(Rn,"type",Rn.register("ESViewerStatusBarScale",Rn,{chsName:"比例尺状态栏",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"状态栏"})),p(Rn,"defaults",{...ft.defaults,show:!0,height:30,fontSize:14,bgColor:[71,71,71,.8]});let dl=Rn;(r=>{r.createDefaultProps=()=>({...ft.createDefaultProps(),show:!0,height:30,fontSize:14,bgColor:d.reactArray([.2784313725490196,.2784313725490196,.2784313725490196,.8])})})(dl||(dl={})),d.extendClassProps(dl.prototype,dl.createDefaultProps);const Vl=class Vl extends ${get typeName(){return"ESGaussianSplatting"}get defaultProps(){return Vl.createDefaultProps()}constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()};return{...t,basic:[...t.basic,new nt("路径","url",!0,!1,[this,"url"]),new C("进度","progress",!1,!0,[this,"progress"],0)]}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new nt("路径","url",!0,!1,[this,"url"]),new C("进度","progress",!1,!0,[this,"progress"],0)])]}};p(Vl,"type",Vl.register("ESGaussianSplatting",Vl,{chsName:"高斯溅射模型",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于加载高斯溅射模型的 ES 对象"})),p(Vl,"defaults",{...$.defaults});let pl=Vl;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),url:"",progress:0})})(pl||(pl={})),d.extendClassProps(pl.prototype,pl.createDefaultProps);const Ys=class Ys extends ${get typeName(){return"ESStaticMesh"}get defaultProps(){return Ys.createDefaultProps()}constructor(t){super(t)}getESProperties(){const t={...super.getESProperties()},e=[new nt("mesh地址","mesh地址",!1,!1,[this,"mesh"],Ys.defaults.mesh)];return t.basic.push(...e),t}getProperties(t){return[...super.getProperties(t),new H("ESStaticMesh","ESStaticMesh",[new nt("mesh地址","mesh地址",!1,!1,[this,"mesh"],Ys.defaults.mesh)])]}};p(Ys,"type",Ys.register("ESStaticMesh",Ys,{chsName:"静态网格",tags:["ESObjects","_ES_Impl_UE"],description:"Unreal的Mesh对象"})),p(Ys,"defaults",{...$.defaults,mesh:"StaticMesh'/Engine/BasicShapes/Sphere.Sphere'"});let gl=Ys;(r=>{r.createDefaultProps=()=>({...$.createDefaultProps(),mesh:""})})(gl||(gl={})),d.extendClassProps(gl.prototype,gl.createDefaultProps);const Ul=class Ul extends wt{constructor(e){super(e);p(this,"_startEvent",this.dv(new d.Event));p(this,"_clearEvent",this.dv(new d.Event));p(this,"_eSGeoExtrudedPolygon");this._eSGeoExtrudedPolygon=this.disposeVar(new Os),this._eSGeoExtrudedPolygon.parentID=this.id,this.ad(this.components.disposableAdd(this._eSGeoExtrudedPolygon)),this.eSGeoExtrudedPolygon.perPositionHeight=!0,this.eSGeoExtrudedPolygon.extrudedHeight=0,this.stroked=!0,this.strokeWidth=2,this.strokeColor=[1,0,0,1],this.ad(d.track([this.eSGeoExtrudedPolygon,"show"],[this,"show"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"stroked"],[this,"stroked"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"strokeWidth"],[this,"strokeWidth"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"strokeColor"],[this,"strokeColor"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"filled"],[this,"filled"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"fillColor"],[this,"fillColor"])),this.ad(d.track([this.eSGeoExtrudedPolygon,"points"],[this,"points"])),this.ad(this.clearEvent.don(()=>{this.points=void 0,this.depths=void 0,this.windowPositions=void 0}))}get typeName(){return"ESSkylineAnalysis"}get defaultProps(){return Ul.createDefaultProps()}get startEvent(){return this._startEvent}start(){this._startEvent.emit()}get clearEvent(){return this._clearEvent}clear(){this._clearEvent.emit()}get eSGeoExtrudedPolygon(){return this._eSGeoExtrudedPolygon}getESProperties(){const e={...super.getESProperties()};return{...e,basic:[...e.basic,new mt("开始分析","开始分析",[],()=>this.start(),[]),new mt("清除分析","清除分析",[],()=>this.clear(),[]),new Y("屏幕坐标","windowPositions",!1,!0,[this,"windowPositions"]),new Y("深度值","depths",!1,!0,[this,"depths"]),new C("半径","半径",!0,!1,[this,"radius"],1e4)]}}getProperties(e){return[...super.getProperties(e),new H("通用","通用",[new mt("开始分析","开始分析",[],()=>this.start(),[]),new mt("清除分析","清除分析",[],()=>this.clear(),[]),new Y("屏幕坐标","windowPositions",!1,!0,[this,"windowPositions"]),new Y("深度值","depths",!1,!0,[this,"depths"]),new C("半径","半径",!0,!1,[this,"radius"],1e4)])]}};p(Ul,"type",Ul.register("ESSkylineAnalysis",Ul,{chsName:"天际线分析",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"分析类"})),p(Ul,"defaults",{...wt.defaults,windowPositions:[],depths:[],radius:1e4});let ml=Ul;(r=>{r.createDefaultProps=()=>({...wt.createDefaultProps(),windowPositions:yf(void 0),depths:d.reactArrayWithUndefined(void 0),radius:d.react(void 0)})})(ml||(ml={})),d.extendClassProps(ml.prototype,ml.createDefaultProps);const Li=class Li extends Ot{get typeName(){return"ESHeatMap"}get defaultProps(){return Li.createDefaultProps()}constructor(t){super(t)}getESProperties(){const t=super.getESProperties();return{...t,basic:[...t.basic,new Y("data","数据",!0,!1,[this,"data"]),new Y("gradient","渐变",!0,!1,[this,"gradient"],Li.defaults.gradient),new C("radius","半径",!0,!1,[this,"radius"],Li.defaults.radius),new C("blur","模糊",!0,!1,[this,"blur"],Li.defaults.blur),new U("is3D","3D",!0,!1,[this,"is3D"])]}}getProperties(t){return[...super.getProperties(t),new H("通用","通用",[new Y("data","数据",!0,!1,[this,"data"]),new Y("gradient","渐变",!0,!1,[this,"gradient"],Li.defaults.gradient),new C("radius","半径",!0,!1,[this,"radius"],Li.defaults.radius),new C("blur","模糊",!0,!1,[this,"blur"],Li.defaults.blur),new U("is3D","3D",!0,!1,[this,"is3D"])])]}};p(Li,"type",Li.register("ESHeatMap",Li,{chsName:"热力图",tags:["ESObjects","_ES_Impl_Cesium","_ES_Impl_UE"],description:"用于热力图的显示"})),p(Li,"defaults",{...Ot.defaults,is3D:!1,data:[],radius:10,gradient:{".5":"green",".7":"yellow",".95":"red"},blur:.85});let vl=Li;(r=>{r.createDefaultProps=()=>({...Ot.createDefaultProps(),is3D:d.react(void 0),data:d.reactPositions(void 0),gradient:d.reactJsonWithUndefined(void 0),radius:d.react(void 0),blur:d.react(void 0)})})(vl||(vl={})),d.extendClassProps(vl.prototype,vl.createDefaultProps);const ql=class ql extends wt{constructor(e){super(e);p(this,"editingBindMode","scatter")}get typeName(){return"ESGeoPoints"}get defaultProps(){return ql.createDefaultProps()}};p(ql,"type",ql.register("ESGeoPoints",ql,{chsName:"地理点集合",tags:["ESObjects","_ES_Impl_Cesium"],description:"地图中的可视化地理点集合"})),p(ql,"supportEditingModes",[...wt.supportEditingModes,vt.ScatterAppend,vt.ScatterModify]);let yl=ql;(r=>{r.createDefaultProps=()=>({...wt.createDefaultProps(),pointed:!0})})(yl||(yl={})),d.extendClassProps(yl.prototype,yl.createDefaultProps);function tv(r){return typeof r=="string"?document.getElementById(r):r}function Xd(r){if(!r)throw new Error("container is not defined");r.innerHTML="";const t=document.createElement("div");return t.style.cssText="width: 100%; height: 100%; margin: 0px; padding: 0px; border: none; overflow: hidden; position: relative; z-index: 0; background: rgba(0,0,0,0);",r.appendChild(t),t}class ev extends d.Destroyable{constructor(e,i){super();p(this,"_listeningSceneObjects",new Map);this._sceneObjectsMananger=e,this._createSceneObjectListeningFunc=i;const n=this._listeningSceneObjects,s=(a,o)=>{if(a)for(let l of a){const u=n.get(l);u&&(u.destroy(),n.delete(l))}if(o)for(let l of o){if(n.get(l)){console.warn(`listeningSceneObjects已存在某对象:${l.name}`,l);debugger}const c=this.createSceneObjectListeningFunc(l);c&&n.set(l,c)}};s(void 0,this._sceneObjectsMananger.sceneObjects),this.dispose(this._sceneObjectsMananger.sceneObjectsToChange.disposableOn(s)),this.dispose(()=>{for(let a of this._listeningSceneObjects.values())a.destroy();this._listeningSceneObjects.clear()})}get listeningSceneObjects(){return this._listeningSceneObjects}get createSceneObjectListeningFunc(){return this._createSceneObjectListeningFunc}}class EI extends d.Destroyable{constructor(t){super(),this._esObjectsManager=t;{const e=this._esObjectsManager;class i extends d.Destroyable{constructor(s){super(),this._esPath=s,this.dv(new d.ObjResettingWithEvent(e.activeViewerChanged,()=>{const a=e.activeViewer;if(!a)return;class o extends d.Destroyable{constructor(u){if(super(),this._esPath=u,!a)throw new Error("!viewer");const c=()=>{const h=e.activeViewer;h&&(this._esPath.path.currentTime=h.simulationTime)};c(),this.d(a.simulationTimeChanged.don(c))}}return new o(this._esPath)}))}}this.dv(new ev(e.sceneObjectsManager,n=>{if(n instanceof Ls)return new i(n)}))}{const e=this._esObjectsManager;class i extends d.Destroyable{constructor(s){super();const a=()=>{const o=e.activeViewer;o&&(o.simulationTime=s.currentTime??0)};a(),this.d(s.currentTimeChanged.don(a))}}this.dv(new ev(e.sceneObjectsManager,n=>{if(n instanceof As)return new i(n)}))}}}class SI extends d.Destroyable{constructor(t){super(),t.forEach(e=>{this.d(e.path.currentPositionChanged.don(i=>{i&&e.sceneObjects.forEach(n=>{Reflect.has(n,"position")&&(n.position=[...i])})})),this.d(e.path.currentRotationChanged.don(i=>{i&&e.sceneObjects.forEach(n=>{Reflect.has(n,"rotation")&&(n.rotation=[...i])})}))})}}class PI extends d.Destroyable{constructor(e){super();p(this,"_player");p(this,"_channels",this.dv(d.reactArray([])));this._objectManager=e,this._player=this._objectManager.player,this.dv(new d.ObjResettingWithEvent(this.channelsChanged,()=>{if(this.channels.length===0)return;const i=[];for(let n=0;n<this.channels.length;n++){const s=this.channels[n],a=ft.getSceneObjById(s.pathId);if(!a||!(a instanceof Ls))continue;const l=s.sceneObjectIds.map(u=>ft.getSceneObjById(u)).filter(u=>u!==void 0);l.length!==0&&i.push({path:a,sceneObjects:l})}if(i.length!==0)return new SI(i)}))}get player(){return this._player}get channels(){return this._channels.value}get channelsChanged(){return this._channels.changed}set channels(e){this._channels.value=e}}function ef(r){if(r.data){const{type:t,value:e}=r.data;if(t==="UITreeA"&&e instanceof Or){const{sceneObject:i}=e;if(i)return i.id}}}function CI(r,t){const{property:e,customEventName:i,otherParams:n}=t,{dragstartDataMananger:s}=r;if(!(e instanceof ln)){if(!(e instanceof up)){if(e instanceof nt){const[a,o]=d.getReactFuncs(e.reactVar);if(i==="ondragover"){if(console.log("ondragover"),!n)throw new Error("!otherParams");const l=n[0];if(l.preventDefault(),!l.dataTransfer)return;ef(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(i==="ondrop"){if(!n)throw new Error("!otherParams");n[0].preventDefault();const u=ef(s);u!==void 0&&o(u)}}else if(e instanceof np){const[a,o]=d.getReactFuncs(e.reactVar);if(i==="ondragover"){if(console.log("ondragover"),!n)throw new Error("!otherParams");const l=n[0];if(l.preventDefault(),!l.dataTransfer)return;ef(s)?l.dataTransfer.dropEffect="move":l.dataTransfer.dropEffect="none"}else if(i==="ondrop"){if(!n)throw new Error("!otherParams");const l=n[0].$event,u=n[0].strinsPropDom,c=n[0].index;l.preventDefault();const h=ef(s);if(h!==void 0){u[c].firstChild.value=h;const f=new Event("input",{bubbles:!0,cancelable:!0});u[c].firstChild.dispatchEvent(f)}}}else if(e instanceof sp){const[a,o]=d.getReactFuncs(e.reactVar)}}}}function rv(r,t,e,i){if(e)i.currentActiveEditing=[r,t];else if(i.currentActiveEditing){const[n,s]=i.currentActiveEditing;n===r&&s===t&&(e||(i.currentActiveEditing=void 0))}}const II=["editing","positionEditing","locationEditing","pointEditing","rotationEditing"];class MI extends d.Destroyable{constructor(t,e){super(),this._sceneObject=t;const i=this._sceneObject;for(let n of II){const s=n+"Changed",a=i[s];if(a){{const o=i[n];rv(i,n,o,e)}this.dispose(a.disposableOn(o=>rv(i,n,o,e)))}}}get sceneObject(){return this._sceneObject}}class NI extends d.Destroyable{constructor(){super();p(this,"_currentActiveEditing",this.disposeVar(d.reactArrayWithUndefined(void 0)));p(this,"_currentActiveEditingLastChangedTime",0);this.dispose(this._currentActiveEditing.changed.disposableOn((e,i)=>{if(this._currentActiveEditingLastChangedTime=Date.now(),i){const[n,s]=i;n[s]===!0&&(n[s]=!1)}if(e){const[n,s]=e;n[s]=!0}})),ft.context.sceneObjCreatedEvent.don(e=>{e.dv(new MI(e,this))})}get currentActiveEditing(){return this._currentActiveEditing.value}set currentActiveEditing(e){this._currentActiveEditing.value=e}get currentActiveEditingChanged(){return this._currentActiveEditing.changed}get currentActiveEditingLastChangedTime(){return this._currentActiveEditingLastChangedTime}}class bI extends d.Destroyable{constructor(){super();p(this,"_sceneObjects",new Set);p(this,"_sceneObjectsToChange",this.dv(new d.Event));this.d(()=>{const e=d.length(this._sceneObjects);e!==0&&console.warn(`场景对象管理器销毁时仍然管理着${e}个场景对象!`)})}get sceneObjects(){return this._sceneObjects}get sceneObjectsToChange(){return this._sceneObjectsToChange}addSceneObject(e){if(this._sceneObjects.has(e))return console.warn(`创建失败:对象${e.typeName+":"+e.id}已经存在于场景对象管理器中!}`),!1;do this._sceneObjectsToChange.emit([],[e]),this._sceneObjects.add(e);while(!1);return!0}deleteSceneObject(e){if(!this._sceneObjects.has(e))return console.warn(`删除失败:对象${e.typeName+":"+e.id}不存在于场景对象管理器中!}`),!1;do this._sceneObjectsToChange.emit([e],[]),this._sceneObjects.delete(e);while(!1);return!0}createSceneObject(e,i){const n=ft.context.createSceneObject(e,i);return n&&this.addSceneObject(n),n}createSceneObjectFromClass(e,i){const n=ft.context.createSceneObjectFromClass(e,i);return n&&this.addSceneObject(n),n}createSceneObjectFromJson(e){const i=ft.context.createSceneObjectFromJson(e);return i&&this.addSceneObject(i),i}}function iv(r,t){return r.length===t.length&&r.every((e,i)=>e===t[i])}class TI extends d.Destroyable{constructor(t){super(),this._viewer=t,this.d(d.track([this._viewer,"currentTime"],[this._viewer,"simulationTime"]))}}class DI extends d.Destroyable{constructor(t,e){super(),this._viewer=t,this._activeViewer=e;const i=Dn.createCommonProps(),n=[];Object.keys(i).forEach(l=>{const u=this._activeViewer[l+"Changed"];n.push(u)});const s=this.dv(d.createNextAnimateFrameEvent(...n)),a=()=>{this._viewer.status!=="Created"||this._activeViewer.status!=="Created"||Object.keys(i).forEach(l=>{this._viewer[l]=this._activeViewer[l]})};this.d(s.don(a));const o=this.dv(d.createAnimateFrame());o.restart(void 0,async()=>{if(this._viewer.status!=="Created"||this._activeViewer.status!=="Created")return;const l=this._activeViewer.getCurrentCameraInfo(),u=this._viewer.getCurrentCameraInfo();if(!l)return;const{position:c,rotation:h}=l;u&&iv(c,u.position)&&iv(h,u.rotation)||this._viewer.flyIn(c,h,0)}),this.d(()=>o.cancel())}}const xI=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" width="40" height="40" style="shape-rendering: auto; display: block; background: rgba(255, 255, 255, 0);" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-linecap="round" fill="none" stroke-dasharray="50.26548245743669 50.26548245743669" stroke="#ffffff" stroke-width="8" r="32" cy="50" cx="50">
535
535
  <animateTransform values="0 50 50;360 50 50" keyTimes="0;1" dur="1s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
536
536
  </circle><g></g></g></svg>
537
- `,OI='<svg t="1747028305766" class="icon" viewBox="0 0 1032 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3881" width="40" height="40"><path d="M0.1536 547.700736c-0.205824-0.187392-0.205824-0.49152 0.008192-0.68608l80.672768-73.590784a0.63488 0.63488 0 0 1 0.7936-0.029696l263.043072 203.0336c0.667648 0.515072 1.738752 0.498688 2.393088-0.038912l609.191936-500.133888a0.605184 0.605184 0 0 1 0.768 0.022528l74.84928 67.229696a0.454656 0.454656 0 0 1-0.002048 0.685056l-685.234176 618.19904a1.14688 1.14688 0 0 1-1.518592-0.012288L0.1536 547.700736z" fill="#ffffff" p-id="3882"></path></svg>',AI='<svg t="1747028398107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1146" width="40" height="40"><path d="M415.744006 1.033277A0.992256 0.992256 0 0 1 416.747526 0.000061h189.5045c0.569344 0 1.017856 0.45056 1.001472 1.033216l-21.227518 754.803667a1.062912 1.062912 0 0 1-1.05984 1.032192h-146.933752c-0.569344 0-1.04448-0.45056-1.059839-1.032192L415.744006 1.033277zM511.510528 1024c-52.595709 0-95.231994-39.866366-95.231994-89.043963 0-49.176573 42.636285-89.042939 95.231994-89.042938 52.594685 0 95.231994 39.866366 95.231994 89.042938 0 49.177597-42.637309 89.043963-95.231994 89.043963z" fill="#ffffff" p-id="1147"></path></svg>',Wl=class Wl extends d.Destroyable{constructor(t){super();const e=()=>{const i=this.dv(new Ea);this.d(d.track([i,"show"],[t,"useDefaultStatusDiv"]));{const n=()=>{i.show=(t.useDefaultStatusDiv??!0)&&t.status!=="Created"};n(),this.d(t.useDefaultStatusDivChanged.don(n)),this.d(t.statusChanged.don(n)),i.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}t.add(i),this.d(()=>t.delete(i)),i.instanceClass=class extends d.Destroyable{constructor(a,o,l){super();p(this,"_div",document.createElement("div"));if(this._subContainer=a,!l)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const m=()=>{o.show?this._div.style.opacity="1":this._div.style.opacity="0"};m(),this.d(o.showChanged.don(m))}let u,c,h,f,g;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",u=document.createElement("div"),this._div.appendChild(u),u.style.width="auto",u.style.position="absolute",u.style.left="50%",u.style.top="50%",u.style.transform="translate(-50%,-50%)",u.style.background="rgba(120, 120, 0, 0.7)",u.style.color="white",u.style.fontSize="10px",u.style.background="none",u.style.display="flex",u.style.justifyContent="center",u.style.alignItems="center",c=document.createElement("div"),u.appendChild(c),c.style.pointerEvents="none",c.style.display="block",c.style.width="40px",c.innerHTML=Wl.defaultsSvg.loadingSvg,c.style.filter="drop-shadow(0px 0px 1px black)",h=document.createElement("div"),u.appendChild(h),h.style.pointerEvents="none",h.style.marginLeft="10px",h.style.display="flex",h.style.flexFlow="column",h.style.maxWidth="300px",f=document.createElement("div"),h.appendChild(f),f.style.fontSize="14px",f.style.fontWeight="800",f.style.marginBottom="5px",f.style.textShadow="0 0 2px black",g=document.createElement("div"),h.appendChild(g),g.style.fontWeight="400",g.style.textShadow="0 0 2px black";{const m=()=>{let E="Raw";l.status==="Raw"?E="初始状态":l.status==="Creating"?E="正在创建":l.status==="Created"?E="创建完成":l.status==="Error"?E="创建失败":l.status==="Reconnecting"&&(E="重新连接"),f.innerText=`${E}(${l.status})`,g.innerText=`${l.statusLog}`,(l.status==="Creating"||l.status==="Reconnecting")&&(c.innerHTML=Wl.defaultsSvg.loadingSvg),l.status==="Created"&&(c.innerHTML=Wl.defaultsSvg.successSvg),l.status==="Error"&&(c.innerHTML=Wl.defaultsSvg.warnSvg)};m();const _=this.dv(d.createNextAnimateFrameEvent(l.statusLogChanged,l.statusChanged));this.d(_.don(m))}}update(){const a=255*Math.random()|0,o=255*Math.random()|0,l=255*Math.random()|0;this._div.style.background=`rgba(${a}, ${o}, ${l}, 0.8)`}}};this.d(t.containerChanged.don(()=>{e()}))}};p(Wl,"defaultsSvg",{loadingSvg:xI,successSvg:OI,warnSvg:AI});let Yd=Wl;class LI extends d.Destroyable{constructor(t,e,i){super(),this._subContainer=t,this._overlayContainer=e,this._viewer=i;const n=this._subContainer,s=this._overlayContainer,a=this._viewer,o=()=>{const c=a.zIndex??"";n.style.zIndex=c,s.style.zIndex=c};o(),this.d(a.zIndexChanged.don(o));const l=()=>{n.style.display=a.show??!0?"block":"none"};l(),this.d(a.showChanged.don(l));const u=()=>{n.style.opacity=`${a.opacity??1}`};u(),this.d(a.opacityChanged.don(u))}}function rf(r){let t=d.getExtProp(r,"_relativeContainer");return t||(t=document.createElement("div"),t.style.position="relative",t.style.width="100%",t.style.height="100%",t.style.padding="0",t.style.margin="0",r.appendChild(t),d.setExtProp(r,"_relativeContainer",t)),t}class RI extends d.Destroyable{constructor(e,i){super();p(this,"_subContainer",document.createElement("div"));p(this,"_overlayContainer",document.createElement("div"));p(this,"_containerStyleController");this._container=e,this._viewer=i,this._containerStyleController=this.dv(new LI(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:n,overlayContainer:s}=this;n.tabIndex=-1,n.style.outline="none",n.style.width="100%",n.style.height="100%",n.onpointerdown=()=>n.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),n.setAttribute("earthsdk3","earthsdk3-subContainer"),rf(this._container).appendChild(n),this.d(()=>rf(this._container).removeChild(n)),rf(this._container).appendChild(s),this.d(()=>rf(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class FI extends d.Destroyable{constructor(){super(...arguments);p(this,"registerObjsMap",new Map)}register(e,i){return this.registerObjsMap.has(e)&&console.warn(`register warn:${e}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(e,i),e}getViewerConstructor(e){const i=this.registerObjsMap.get(e);if(!i){console.warn(`未找到${e}类!`);return}return i}createViewer(e){const i=e.type;console.log(e);const n=this.getViewerConstructor(i);if(!n)throw new Error(`没有找到类型为${i}的Viewer构造器!`);return new n(e)}}class nv extends d.Destroyable{constructor(t,e,i=!1,n=!1){if(super(),this._viewer=t,!e)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(d.DomElementEvent.create(e,"pointerdown")),a=this.dv(d.DomElementEvent.create(e,"pointermove")),o=this.dv(d.DomElementEvent.create(e,"pointerup")),l=this.dv(d.DomElementEvent.create(e,"pointerout")),u=this.dv(d.DomElementEvent.create(e,"pointerover")),c=this.dv(new d.PointerClick),h=this.dv(new d.PointerHover),f=()=>{const v=this._viewer.hoverTime*1e3;h.delayTime=v};this.d(this._viewer.hoverTimeChanged.don(()=>{f()})),this.d(s.don(v=>c.pointerDown(v))),this.d(a.don(v=>c.pointerMove(v))),this.d(o.don(v=>c.pointerUp(v))),this.d(l.don(v=>c.pointerOut(v))),this.d(s.don(v=>h.pointerDown(v))),this.d(a.don(v=>h.pointerMove(v))),this.d(o.don(v=>h.pointerUp(v))),this.d(l.don(v=>h.pointerOut(v)));const{x:g,y:m}=e.getBoundingClientRect(),_=n?g:0,E=n?m:0;this.d(h.hoverEvent.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.hoverEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(c.clickEvent.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.clickEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(c.dbclickEvent.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);v.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(s.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);v.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(o.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);v.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(a.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.pointerMoveEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(u.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.pointerOverEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(l.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.pointerOutEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})}));const M=this.dv(d.DomElementEvent.create(e,"keydown"));this.d(M.don(v=>this._viewer.keyDownEvent.emit(v)));const y=this.dv(d.DomElementEvent.create(e,"keyup"));this.d(y.don(v=>this._viewer.keyUpEvent.emit(v)));const w=this.dv(d.DomElementEvent.create(e,"wheel"));this.d(w.don(v=>this._viewer.wheelEvent.emit(v)))}}class GI extends d.Destroyable{constructor(e){super();p(this,"viewer");const i=this.viewer=e;this.ad(new d.ObjResettingWithEvent(i.rollerShutterChanged,()=>{const n=i.container;if(!n||!i.rollerShutter)return;const s=new d.Destroyable;this.viewer.splitPosition=.5;let a=this.getRollerShutterDIV();return n.appendChild(a),s.d(()=>{this.viewer.splitPosition=0,n.removeChild(a)}),s}))}getRollerShutterDIV(){let e=document.createElement("div");e.style.position="absolute",e.style.left="50%",e.style.top="0",e.style.backgroundColor="#d3d3d3",e.style.width="5px",e.style.height="100%",e.style.zIndex="9999";const i=n=>{if(!e.parentElement)return;n.preventDefault?n.preventDefault():n.returnValue=!1;const a=n.x/e.parentElement.offsetWidth;e.style.left=`${100*a}%`,this.viewer.splitPosition=a};return e.addEventListener("mouseenter",n=>{e.style.cursor="ew-resize"}),e.addEventListener("mouseleave",n=>{e.style.cursor="default"}),e.addEventListener("mousedown",n=>{e.style.cursor="ew-resize",document.addEventListener("mousemove",i)}),document.addEventListener("mouseup",n=>{e.style.cursor="default",document.removeEventListener("mousemove",i)}),e}}class kI extends d.Destroyable{constructor(e){super();p(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new GI(e))}}const fs=class fs extends d.Destroyable{constructor(e){super();p(this,"_forceRecreateEvent",this.dv(new d.Event));p(this,"_container",this.dv(d.react(void 0)));p(this,"_containerSize",this.dv(d.react(void 0)));p(this,"_editingEvent",this.disposeVar(new d.Event));p(this,"_status",this.dv(d.react("Raw")));p(this,"_statusLog",this.dv(d.react("")));p(this,"_statusContainer",this.dv(new Yd(this)));p(this,"_useCustomInteraction",this.dv(d.react(!0)));p(this,"_resetInteractionEvent",this.dv(d.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));p(this,"_interactionResetting",this.dv(new d.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new nv(this,this.container)})));p(this,"_viewerChanged",this.dv(new d.Event));p(this,"_containerResetEvent",this.dv(d.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));p(this,"_containerResetting",this.dv(new d.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new RI(this.container,this)})));p(this,"_sceneObjectsMap",new Map);p(this,"_id");p(this,"_typeName");p(this,"_updateFuncReact",this.dv(d.react(void 0)));p(this,"_toDestroyFuncReact",this.dv(d.react(void 0)));p(this,"_statusInfo",fs.defaults.statusInfo);p(this,"_navigationMode",this.dv(d.react("Map")));p(this,"_syncViewer",this.dv(d.react(void 0)));p(this,"_syncEventDon",this.dv(new d.ObjResettingWithEvent(this.syncViewerChanged,()=>{const e=this.syncViewer;if(e)return new DI(this,e)})));p(this,"_timeSyncdon",this.dv(new d.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new TI(this)})));p(this,"_hoverEvent",this.dv(new d.Event));p(this,"_pointerOverEvent",this.dv(new d.Event));p(this,"_pointerMoveEvent",this.dv(new d.Event));p(this,"_pointerDownEvent",this.dv(new d.Event));p(this,"_pointerUpEvent",this.dv(new d.Event));p(this,"_pointerOutEvent",this.dv(new d.Event));p(this,"_clickEvent",this.dv(new d.Event));p(this,"_dblclickEvent",this.dv(new d.Event));p(this,"_keyDownEvent",this.dv(new d.Event));p(this,"_keyUpEvent",this.dv(new d.Event));p(this,"_wheelEvent",this.dv(new d.Event));p(this,"_actived",this.dv(d.react(!1)));this._id=e.id??d.createGuid();const i=tv(e.container);if(i)this._container.value=Xd(i),this._typeName=e.type,this._initName();else throw new Error("container is not defined");{const n=()=>{i&&(this.show??!0?i.style.display="block":i.style.display="none")};n(),this.d(this.showChanged.don(n))}{const n=this._sceneObjectsMap,s=()=>{for(let[o,l]of n.entries())if(!l&&o){const u=Aa.context.createEngineObject(o,this);u&&n.set(o,u)}},a=()=>{for(let[o,l]of n.entries())l&&!l.isDestroyed()&&l.destroy(),n.set(o,void 0)};this.d(a),this.d(this.viewerChanged.don(o=>{a(),o&&s()}))}{const n=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};n(),this.d(this.execOnceFuncStrChanged.don(n))}{const n=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(a){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${a}`)}};n(),this.d(this.updateFuncStrChanged.don(n));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||d.createAnimateFrame(),s.restart(void 0,a=>{this.updateFunc&&this.updateFunc(this,a)}))}))}{const n=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};n(),this.d(this.toDestroyFuncStrChanged.don(n)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}this.ad(new kI(this))}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(e){this._container.value=e}set containerOrId(e){if(typeof e=="string"){const i=document.getElementById(e);i&&i instanceof HTMLDivElement?this._container.value=Xd(i):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else e instanceof HTMLDivElement?this._container.value=Xd(e):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(e){this._containerSize.value=e}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(e){this._status.value=e}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(e){this._statusLog.value=e}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(e){this._useCustomInteraction.value=e}get viewerChanged(){return this._viewerChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(e){return this.sceneObjectsMap.get(e)}add(...e){for(let i of e)if(!this.has(i)){ft.context.addSceneObject(i);const n=Aa.context.createEngineObject(i,this);n&&this._sceneObjectsMap.set(i,n),i.viewerAttached.emit(this)}}delete(...e){for(let i of e)if(this.has(i)){const n=this._sceneObjectsMap.get(i);n&&n.destroy(),ft.context.deleteSceneObject(i),this._sceneObjectsMap.delete(i),i.viewerDetached.emit(this)}}disposableAdd(...e){return this.add(...e),()=>this.delete(...e)}disAdd(...e){return this.disposableAdd(...e)}has(e){return this._sceneObjectsMap.has(e)}clearAllSceneObjects(){for(let e of this.sceneObjects)this.delete(e)}get id(){return this._id}set id(e){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return fs.createDefaultProps()}_getJson(e=!0){const i={id:this.id,type:this.typeName};for(let n of Object.keys(this.defaultProps))if(e){let s,a=this.defaultProps[n];a instanceof d.ReactiveVariable?s=a.equals(this[n]):s=a===this[n],s||(i[n]=this[n])}else i[n]=this[n];return i}_setJson(e,i,n){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=i||[];s.push("id","type");const a=Object.keys(this.defaultProps).filter(o=>!s.includes(o));for(let o of a)if(o in e)this[o]=e[o]===null?void 0:e[o];else if(!(n??!1)){let l=this.defaultProps[o];l instanceof d.ReactiveVariable&&(l=l.value),this[o]=l}}get json(){return this._getJson()}set json(e){this._setJson(e,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get navigationMode(){return this._navigationMode.value}get navigationModeChanged(){return this._navigationMode.changed}getNavigationMode(){return this._navigationMode.value}getEngineType(){return this._typeName}get syncViewer(){return this._syncViewer.value}set syncViewer(e){this._syncViewer.value=e}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(e){e&&e.syncViewer&&(e.syncViewer=void 0),e===this?this._syncViewer.value=void 0:this._syncViewer.value=e}setCurrentTime(e){try{this.currentTime=typeof e=="string"?Date.parse(e):e}catch(i){console.warn(`时间格式不正确! value: ${e} error: ${i}`)}}async getVersion(){return window.g_XE3CopyRights??{}}get hoverEvent(){return this._hoverEvent}get pointerOverEvent(){return this._pointerOverEvent}get pointerMoveEvent(){return this._pointerMoveEvent}get pointerDownEvent(){return this._pointerDownEvent}get pointerUpEvent(){return this._pointerUpEvent}get pointerOutEvent(){return this._pointerOutEvent}get clickEvent(){return this._clickEvent}get dblclickEvent(){return this._dblclickEvent}get keyDownEvent(){return this._keyDownEvent}get keyUpEvent(){return this._keyUpEvent}get wheelEvent(){return this._wheelEvent}getProperties(e){return[new H("ESViewer","ESViewer",[new mt("强制刷新","重载",[],()=>this.forceRecreate(),[]),new U("debug","debug",!0,!1,[this,"debug"],fs.defaults.debug),new U("是否可见","是否可见",!0,!1,[this,"show"]),new tt("位置点单位","lonLatFormat",!0,!1,[this,"lonLatFormat"],[["度","DECIMAL_DEGREE"],["度分","DEGREES_DECIMAL_MINUTES"],["度分秒","SEXAGESIMAL_DEGREE"]]),new U("是否开启文字避让","textAvoidance",!0,!1,[this,"textAvoidance"],!1),new nt("ionAccessToken","ionAccessToken",!1,!1,[this,"ionAccessToken"]),new C("时钟","时钟",!1,!1,[this,"currentTime"]),new U("globeShow","globeShow",!0,!1,[this,"globeShow"]),new U("atmosphere","atmosphere",!1,!1,[this,"atmosphere"])]),new C("飞行像素范围","默认飞行定位时对象包围球所占的屏幕像素大小",!1,!1,[this,"flyToBoundingSize"]),new C("编辑高度偏移","编辑时默认的高度偏移",!1,!1,[this,"editingHeightOffset"]),new H("Globe","Globe",[new Y("地形着色器","可以设置地形全局坡度,坡向,高程带,等高线等",!1,!1,[this,"terrainShader"])])]}get actived(){return this._actived.value}set actived(e){this._actived.value=e}get activedChanged(){return this._actived.changed}};p(fs,"context",new FI),p(fs,"register",fs.context.register.bind(fs.context)),p(fs,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0,splitPosition:0});let Dn=fs;(r=>{r.createBaseProps=()=>({name:"未命名场景对象",extras:d.reactJson(void 0),devTags:d.reactArrayWithUndefined(void 0),debug:void 0,show:void 0,opacity:void 0,zIndex:void 0,useDefaultStatusDiv:!0,execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0}),r.createCommonProps=()=>({globeShow:!0,ionAccessToken:"",lonLatFormat:"DECIMAL_DEGREE",fov:60,textAvoidance:!1,flyToBoundingSize:256,hoverTime:2,currentTime:Date.now(),simulationTime:Date.now(),timeSync:!1,rain:0,snow:0,cloud:0,fog:0,depthOfField:0,atmosphere:!0,editingPointSize:void 0,editingPointColor:d.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:d.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:d.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:r.defaults.terrainShader,splitPosition:d.react(void 0),rollerShutter:!1}),r.createDefaultProps=()=>({...(0,r.createBaseProps)(),...(0,r.createCommonProps)()})})(Dn||(Dn={})),d.extendClassProps(Dn.prototype,Dn.createDefaultProps);function sv(r,t){const e=r._lastCameraInfo;if(e){const i=t.viewerChanged.don(n=>{if(!n||!e)return;const{position:s,rotation:a}=e;t.flyIn(s,a,0),r._lastCameraInfo=void 0,i()})}}const zI=r=>{const t=Dn.createCommonProps(),e={};try{Object.keys(t).forEach(i=>{e[i]=r[i]})}catch(i){console.warn(i)}return e},av=(r,t)=>{const e=Dn.createCommonProps();try{Object.keys(e).forEach(i=>{r[i]=t[i]})}catch(i){console.warn(i)}};class VI extends d.Destroyable{constructor(e){super();p(this,"_viewersChanged",this.disposeVar(new d.Event));p(this,"_viewers",new Set);p(this,"_viewersToChange",this.dv(new d.Event));this._sceneObjectsManager=e,this.d(()=>{for(const i of this._viewers)this.destroyViewer(i);this._viewers.clear()}),this.viewers.forEach(i=>{const n=this._sceneObjectsManager.sceneObjects;i.add(...n)}),this.d(()=>{const i=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(n=>{n.delete(...i)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((i,n)=>{this.viewers.forEach(s=>{n.forEach(a=>{Ds(s.devTags,a.devTags)&&(s.has(a)?console.warn(`${s.typeName}中已存${a.typeName},检查逻辑是否有问题!`):s.add(a))}),i.forEach(a=>{Ds(s.devTags,a.devTags)&&(s.has(a)?s.delete(a):console.warn(`${s.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))})}),n.length>0&&n.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(a=>{a.has(s)&&a.delete(s),console.log("sceneObjectsToChange",a.devTags,s.devTags,Ds(a.devTags,s.devTags)),Ds(a.devTags,s.devTags)&&(a.has(s)?console.warn(`${a.typeName}中已存${s.typeName},检查逻辑是否有问题!`):a.add(s))})}))})})),this.d(this.viewersChanged.don((i,n)=>{const s=this._sceneObjectsManager.sceneObjects;n.forEach(a=>{for(let o of s)Ds(a.devTags,o.devTags)&&(a.has(o)?console.warn(`${a.typeName}中已存${o.typeName},检查逻辑是否有问题!`):a.add(o))}),i.forEach(a=>{for(let o of s)Ds(a.devTags,o.devTags)&&(a.has(o)?a.delete(o):console.warn(`${a.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))}),n.length>0&&n.forEach(a=>{a.d(a.devTagsChanged.don(()=>{a.clearAllSceneObjects();const o=this._sceneObjectsManager.sceneObjects;for(let l of o)console.log("viewersChanged",a.devTags,l.devTags,Ds(a.devTags,l.devTags)),Ds(a.devTags,l.devTags)&&(a.has(l)?console.warn(`${a.typeName}中已存${l.typeName},检查逻辑是否有问题!`):a.add(l))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(e){const i=Dn.context.createViewer(e);return this._viewers.add(i),this._viewersChanged.emit([],[i]),i}destroyViewer(e){return e.isDestroyed()?!0:(this._viewers.delete(e),this._viewersChanged.emit([e],[]),e.destroy(),e.isDestroyed())}}class Pa extends d.Destroyable{constructor(...e){super();p(this,"_drgm",this.dv(new v0));p(this,"_sobjm",this.dv(new bI));p(this,"_vrm",this.dv(new VI(this._sobjm)));p(this,"_sceneObjectEditingManager",this.disposeVar(new NI));p(this,"_activeViewer",this.dv(d.react(void 0)));p(this,"_syncOtherViewersToActived",this.dv(d.react(!1)));p(this,"_cmrvm",this.createSceneObjectFromClass(_a));p(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));p(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});p(this,"_sceneTree",this.dv(new Gh("default",this.dragstartDataMananger,24,this)));p(this,"_propUiTreeManager",this.dv(new Au(24)));p(this,"_sceneTreeMap",new Map);p(this,"_viewerCreatedEvent",this.dv(new d.Event));p(this,"_lastCameraInfo");p(this,"_lastActiveViewerJson");p(this,"syncEvent",this.dv(d.createNextAnimateFrameEvent(this.activeViewerChanged,this.syncOtherViewersToActivedChanged)));p(this,"_syncEventDon",this.d(this.syncEvent.don(()=>{const e=this.syncOtherViewersToActived;this.viewers.forEach(i=>{e?i.syncOtherViewer(this.activeViewer):i.syncOtherViewer(void 0)})})));p(this,"_player",this.createSceneObjectFromClass(As));p(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));p(this,"_esPlyarAndPathTime",this.dv(new EI(this)));p(this,"_pathAnimationManager",this.dv(new PI(this)))}static get envs(){return ft.context.environmentVariables}getSceneObjectById(e){return ft.getSceneObjectById(e)}getSceneObject(e){return ft.getSceneObject(e)}get $refs(){return ft.$refs}get dragstartDataMananger(){return this._drgm}get sceneObjectsManager(){return this._sobjm}get viewers(){return this._vrm.viewers}getViewers(){return this._vrm.getViewers()}get sceneObjectEditingManager(){return this._sceneObjectEditingManager}get activeViewer(){return this._activeViewer.value}set activeViewer(e){this._activeViewer.value=e}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(e){this._syncOtherViewersToActived.value=e}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var h;const e=this._asset.createdTime||new Date().toISOString(),i=new Date().toISOString(),n=this._asset.name||"未命名项目",a={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:e,modifiedTime:i,name:n},o=this.sceneTree.json,l=this._cmrvm.views,u=[...this._vrm.viewers].map(f=>f.json),c=(h=this.activeViewer)==null?void 0:h.getCurrentCameraInfo();return{asset:a,viewers:u,sceneTree:o,viewCollection:l,lastView:c}}set json(e){try{if(!e.asset)return;if(!e.asset.type||e.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=e.asset&&e.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=e.asset&&e.asset.modifiedTime||"",this._asset.name=e.asset&&e.asset.name||"未命名项目",this._asset.version=e.asset&&e.asset.version||"0.1.0",e.sceneTree&&(this.sceneTree.json=e.sceneTree),e.viewCollection&&(this._cmrvm.views=e.viewCollection),!e.viewers||!Array.isArray(e.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||e.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(i=>{const n=e.viewers.find(s=>s.id===i.id);n&&(i.json=n)})}catch(i){console.error(`ESObjectsManager解析json数据时发生错误! error: ${i}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(e){return CI(this,e)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(e="default"){if(e==="default")return this._sceneTree;if(!this._sceneTreeMap.has(e)){console.warn(`id为${e}的SceneTree不存在!`);return}return this._sceneTreeMap.get(e)}createSceneTree(e,i=24){if(this._sceneTreeMap.has(e)||e==="default")console.warn(`id为${e}的SceneTree已存在!`);else{const n=this.dv(new Gh(e,this.dragstartDataMananger,i,this));this._sceneTreeMap.set(e,n)}return this.getSceneTree(e)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(e){const i=this._vrm.createViewer(e);this.activeViewer||(this.activeViewer=i);const n=this.d(i.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(i),n())}));return i}destroyViewer(e){return this._activeViewer.value===e&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(e)}switchViewer(e,i=!0,n=!0,s=!0){var u;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&i&&(this._lastCameraInfo=(u=this.activeViewer)==null?void 0:u.getCurrentCameraInfo()),!this._lastActiveViewerJson&&n&&(this._lastActiveViewerJson=this.activeViewer?zI(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const a=e.id,o=a?[...this.getViewers()].find(c=>c.id===a):[...this.getViewers()].find(c=>c.typeName===e.type);if(o)if(a&&o.typeName!==e.type)console.warn(`id为${a}的viewer的typeName和option.type${e.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(o);else return console.log("ESViewer exists, will be used"),i&&sv(this,o),n&&this._lastActiveViewerJson&&(av(o,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),o.container===tv(e.container)?(o.containerOrId=e.container,o.forceRecreate()):o.containerOrId=e.container,this.activeViewer=o,o;console.log("No ESViewer exists, will be created");const l=this.createViewer(e);return console.log(e),console.log(this),i&&sv(this,l),n&&this._lastActiveViewerJson&&(av(l,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=l,l}switchToCesiumViewer(...e){if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)){const{container:i,viewSync:n,attributeSync:s,destroy:a,id:o}=e[0];return this.switchViewer({type:"ESCesiumViewer",container:i,id:o},n??!0,s??!0,a??!0)}else if(typeof e[0]=="string"||e[0]instanceof HTMLDivElement){const i={container:e[0],viewSync:e[1]??!0,attributeSync:e[2]??!0,destroy:e[3]??!0,id:e[4]},{container:n,viewSync:s,attributeSync:a,destroy:o,id:l}=i;return this.switchViewer({type:"ESCesiumViewer",container:n,id:l},s,a,o)}}switchToUEViewer(...e){let i,n={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("uri")){const{container:l,uri:u,app:c,token:h,viewSync:f,attributeSync:g,destroy:m,id:_}=e[0];i={type:"ESUeViewer",container:l,id:_,options:{uri:u,app:c,token:h}},n={viewSync:f??!0,attributeSync:g??!0,destroy:m??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("ws")){const{container:l,ws:u,esmsg:c,viewSync:h,attributeSync:f,id:g,destroy:m}=e[0];i={type:"ESUeViewer",container:l,id:g,options:{ws:u,esmsg:c}},n={viewSync:h??!0,attributeSync:f??!0,destroy:m??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("project")){const{container:l,project:u,baseUrl:c,viewSync:h,attributeSync:f,id:g,destroy:m}=e[0];i={type:"ESUeViewer",container:l,id:g,options:{project:u,baseUrl:c}},n={viewSync:h??!0,attributeSync:f??!0,destroy:m??!0}}else(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?(i={type:"ESUeViewer",container:e[0],id:e[6],options:{ws:e[1],esmsg:e[2]??void 0}},n={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}):typeof e[1]=="string"&&e[1].startsWith("http")?(i={type:"ESUeViewer",container:e[0],id:e[7],options:{uri:e[1],app:e[2],token:e[3]??void 0}},n={viewSync:e[4]??!0,attributeSync:e[5]??!0,destroy:e[6]??!0}):(i={type:"ESUeViewer",container:e[0],id:e[6],options:{project:e[1],baseUrl:e[2]??void 0}},n={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}));if(!i)throw new Error("参数错误");const{viewSync:s,attributeSync:a,destroy:o}=n;return this.switchViewer(i,s,a,o)}createCesiumViewer(...e){let i;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?i={...e[0],type:"ESCesiumViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(i={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESCesiumViewer"}),!i)throw new Error("参数错误");return this.createViewer(i)}createOpenLayersViewer(...e){let i;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?i={...e[0],type:"ESOlViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(i={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESOlViewer"}),!i)throw new Error("参数错误");return this.createViewer(i)}createUeViewer(...e){let i;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?i={...e[0],type:"ESUeViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?i={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{ws:e[1],esmsg:e[2]??void 0}}:typeof e[1]=="string"&&e[1].startsWith("http")?i={type:"ESUeViewer",container:e[0],id:e[4]??void 0,options:{uri:e[1],app:e[2],token:e[3]??void 0}}:i={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{project:e[1],baseUrl:e[2]??void 0}}),!i)throw new Error("参数错误");return this.createViewer(i)}createSceneObject(e,i){return this._sobjm.createSceneObject(e,i)}createSceneObjectFromClass(e,i){return this._sobjm.createSceneObjectFromClass(e,i)}createSceneObjectFromJson(e){return this._sobjm.createSceneObjectFromJson(e)}destroySceneObject(e){const i=this._sobjm.deleteSceneObject(e);return e.destroy(),i}destroyAllSceneObjects(){const e=[...this._sobjm.sceneObjects];for(let i of e)i!=this._player&&i!=this._cmrvm&&this.destroySceneObject(i)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}p(Pa,"getSceneObjById",ft.context.getSceneObjectById.bind(ft.context)),p(Pa,"getEnv",ft.context.getEnv.bind(ft.context)),p(Pa,"setEnv",ft.context.setEnv.bind(ft.context)),(r=>{r.createDefaultProps=()=>({})})(Pa||(Pa={})),d.extendClassProps(Pa.prototype,Pa.createDefaultProps);function UI(){const r=navigator.userAgent;let t="Unknown";/Windows/.test(r)?t="Windows":/Macintosh/.test(r)?t="MacOS":/Linux/.test(r)?t="Linux":/Android/.test(r)?t="Android":/iOS|iPhone|iPad|iPod/.test(r)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(r)?e="x64":/x86|i686|Win32/.test(r)?e="x86":/arm64|aarch64/.test(r)?e="arm64":/arm/.test(r)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const qI=Date.now();function ov(r){const{os:t,arch:e}=UI(),i={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-qI)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},a=window.encodeURIComponent(JSON.stringify(i));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${a}`,s).then(o=>o.text()).then(o=>console.log(o)).catch(o=>console.log("error",o))}N.copyright=void 0;try{const r="earthsdk3",t="3.4.0-beta.3",e="2025-08-13T02:44:57.000Z",i="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="1db9138c470e4d98418a0699adcb1700a2168ceb",o=((Date.now()-1755053097e3)/36e5).toFixed(1),l=`%c🌏 ${r}%c ${t}.${s.slice(0,8)}.${e} (距今${o}个小时)
537
+ `,OI='<svg t="1747028305766" class="icon" viewBox="0 0 1032 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3881" width="40" height="40"><path d="M0.1536 547.700736c-0.205824-0.187392-0.205824-0.49152 0.008192-0.68608l80.672768-73.590784a0.63488 0.63488 0 0 1 0.7936-0.029696l263.043072 203.0336c0.667648 0.515072 1.738752 0.498688 2.393088-0.038912l609.191936-500.133888a0.605184 0.605184 0 0 1 0.768 0.022528l74.84928 67.229696a0.454656 0.454656 0 0 1-0.002048 0.685056l-685.234176 618.19904a1.14688 1.14688 0 0 1-1.518592-0.012288L0.1536 547.700736z" fill="#ffffff" p-id="3882"></path></svg>',AI='<svg t="1747028398107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1146" width="40" height="40"><path d="M415.744006 1.033277A0.992256 0.992256 0 0 1 416.747526 0.000061h189.5045c0.569344 0 1.017856 0.45056 1.001472 1.033216l-21.227518 754.803667a1.062912 1.062912 0 0 1-1.05984 1.032192h-146.933752c-0.569344 0-1.04448-0.45056-1.059839-1.032192L415.744006 1.033277zM511.510528 1024c-52.595709 0-95.231994-39.866366-95.231994-89.043963 0-49.176573 42.636285-89.042939 95.231994-89.042938 52.594685 0 95.231994 39.866366 95.231994 89.042938 0 49.177597-42.637309 89.043963-95.231994 89.043963z" fill="#ffffff" p-id="1147"></path></svg>',Wl=class Wl extends d.Destroyable{constructor(t){super();const e=()=>{const i=this.dv(new Ea);this.d(d.track([i,"show"],[t,"useDefaultStatusDiv"]));{const n=()=>{i.show=(t.useDefaultStatusDiv??!0)&&t.status!=="Created"};n(),this.d(t.useDefaultStatusDivChanged.don(n)),this.d(t.statusChanged.don(n)),i.cssText="width:100%;height:100%;position:absolute;left:0px;top:0px;"}t.add(i),this.d(()=>t.delete(i)),i.instanceClass=class extends d.Destroyable{constructor(a,o,l){super();p(this,"_div",document.createElement("div"));if(this._subContainer=a,!l)return;this._subContainer.appendChild(this._div),this.d(()=>this._subContainer.removeChild(this._div));{const m=()=>{o.show?this._div.style.opacity="1":this._div.style.opacity="0"};m(),this.d(o.showChanged.don(m))}let u,c,h,f,g;this._div.style.pointerEvents="none",this._div.style.position="absolute",this._div.style.width="100%",this._div.style.height="100%",this._div.style.backgroundColor="rgba(0, 0, 0, 0.4)",this._div.style.zIndex="100",this._div.style.transition="opacity 2s",u=document.createElement("div"),this._div.appendChild(u),u.style.width="auto",u.style.position="absolute",u.style.left="50%",u.style.top="50%",u.style.transform="translate(-50%,-50%)",u.style.background="rgba(120, 120, 0, 0.7)",u.style.color="white",u.style.fontSize="10px",u.style.background="none",u.style.display="flex",u.style.justifyContent="center",u.style.alignItems="center",c=document.createElement("div"),u.appendChild(c),c.style.pointerEvents="none",c.style.display="block",c.style.width="40px",c.innerHTML=Wl.defaultsSvg.loadingSvg,c.style.filter="drop-shadow(0px 0px 1px black)",h=document.createElement("div"),u.appendChild(h),h.style.pointerEvents="none",h.style.marginLeft="10px",h.style.display="flex",h.style.flexFlow="column",h.style.maxWidth="300px",f=document.createElement("div"),h.appendChild(f),f.style.fontSize="14px",f.style.fontWeight="800",f.style.marginBottom="5px",f.style.textShadow="0 0 2px black",g=document.createElement("div"),h.appendChild(g),g.style.fontWeight="400",g.style.textShadow="0 0 2px black";{const m=()=>{let E="Raw";l.status==="Raw"?E="初始状态":l.status==="Creating"?E="正在创建":l.status==="Created"?E="创建完成":l.status==="Error"?E="创建失败":l.status==="Reconnecting"&&(E="重新连接"),f.innerText=`${E}(${l.status})`,g.innerText=`${l.statusLog}`,(l.status==="Creating"||l.status==="Reconnecting")&&(c.innerHTML=Wl.defaultsSvg.loadingSvg),l.status==="Created"&&(c.innerHTML=Wl.defaultsSvg.successSvg),l.status==="Error"&&(c.innerHTML=Wl.defaultsSvg.warnSvg)};m();const _=this.dv(d.createNextAnimateFrameEvent(l.statusLogChanged,l.statusChanged));this.d(_.don(m))}}update(){const a=255*Math.random()|0,o=255*Math.random()|0,l=255*Math.random()|0;this._div.style.background=`rgba(${a}, ${o}, ${l}, 0.8)`}}};this.d(t.containerChanged.don(()=>{e()}))}};p(Wl,"defaultsSvg",{loadingSvg:xI,successSvg:OI,warnSvg:AI});let Yd=Wl;class LI extends d.Destroyable{constructor(t,e,i){super(),this._subContainer=t,this._overlayContainer=e,this._viewer=i;const n=this._subContainer,s=this._overlayContainer,a=this._viewer,o=()=>{const c=a.zIndex??"";n.style.zIndex=c,s.style.zIndex=c};o(),this.d(a.zIndexChanged.don(o));const l=()=>{n.style.display=a.show??!0?"block":"none"};l(),this.d(a.showChanged.don(l));const u=()=>{n.style.opacity=`${a.opacity??1}`};u(),this.d(a.opacityChanged.don(u))}}function rf(r){let t=d.getExtProp(r,"_relativeContainer");return t||(t=document.createElement("div"),t.style.position="relative",t.style.width="100%",t.style.height="100%",t.style.padding="0",t.style.margin="0",r.appendChild(t),d.setExtProp(r,"_relativeContainer",t)),t}class RI extends d.Destroyable{constructor(e,i){super();p(this,"_subContainer",document.createElement("div"));p(this,"_overlayContainer",document.createElement("div"));p(this,"_containerStyleController");this._container=e,this._viewer=i,this._containerStyleController=this.dv(new LI(this._subContainer,this._overlayContainer,this._viewer));const{subContainer:n,overlayContainer:s}=this;n.tabIndex=-1,n.style.outline="none",n.style.width="100%",n.style.height="100%",n.onpointerdown=()=>n.focus(),s.style.position="relative",s.setAttribute("earthsdk3","earthsdk3-overlayContainer"),n.setAttribute("earthsdk3","earthsdk3-subContainer"),rf(this._container).appendChild(n),this.d(()=>rf(this._container).removeChild(n)),rf(this._container).appendChild(s),this.d(()=>rf(this._container).removeChild(s))}get subContainer(){return this._subContainer}get overlayContainer(){return this._overlayContainer}get containerStyleController(){return this._containerStyleController}get container(){return this._container}}class FI extends d.Destroyable{constructor(){super(...arguments);p(this,"registerObjsMap",new Map)}register(e,i){return this.registerObjsMap.has(e)&&console.warn(`register warn:${e}已经被注册,再次注册会覆盖。`),this.registerObjsMap.set(e,i),e}getViewerConstructor(e){const i=this.registerObjsMap.get(e);if(!i){console.warn(`未找到${e}类!`);return}return i}createViewer(e){const i=e.type;console.log(e);const n=this.getViewerConstructor(i);if(!n)throw new Error(`没有找到类型为${i}的Viewer构造器!`);return new n(e)}}class nv extends d.Destroyable{constructor(t,e,i=!1,n=!1){if(super(),this._viewer=t,!e)throw new Error("ViewerCustomInteraction: container is null");const s=this.dv(d.DomElementEvent.create(e,"pointerdown")),a=this.dv(d.DomElementEvent.create(e,"pointermove")),o=this.dv(d.DomElementEvent.create(e,"pointerup")),l=this.dv(d.DomElementEvent.create(e,"pointerout")),u=this.dv(d.DomElementEvent.create(e,"pointerover")),c=this.dv(new d.PointerClick),h=this.dv(new d.PointerHover),f=()=>{const v=this._viewer.hoverTime*1e3;h.delayTime=v};this.d(this._viewer.hoverTimeChanged.don(()=>{f()})),this.d(s.don(v=>c.pointerDown(v))),this.d(a.don(v=>c.pointerMove(v))),this.d(o.don(v=>c.pointerUp(v))),this.d(l.don(v=>c.pointerOut(v))),this.d(s.don(v=>h.pointerDown(v))),this.d(a.don(v=>h.pointerMove(v))),this.d(o.don(v=>h.pointerUp(v))),this.d(l.don(v=>h.pointerOut(v)));const{x:g,y:m}=e.getBoundingClientRect(),_=n?g:0,E=n?m:0;this.d(h.hoverEvent.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.hoverEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(c.clickEvent.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.clickEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(c.dbclickEvent.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);v.button===0&&this._viewer.dblclickEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(s.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);v.button===0&&this._viewer.pointerDownEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(o.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);v.button===0&&this._viewer.pointerUpEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(a.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.pointerMoveEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(u.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.pointerOverEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})})),this.d(l.don(v=>{const[S,P]=d.getDomEventCurrentTargetPos(v,i);this._viewer.pointerOutEvent.emit({screenPosition:[S+_,P+E],pointerEvent:v})}));const M=this.dv(d.DomElementEvent.create(e,"keydown"));this.d(M.don(v=>this._viewer.keyDownEvent.emit(v)));const y=this.dv(d.DomElementEvent.create(e,"keyup"));this.d(y.don(v=>this._viewer.keyUpEvent.emit(v)));const w=this.dv(d.DomElementEvent.create(e,"wheel"));this.d(w.don(v=>this._viewer.wheelEvent.emit(v)))}}class GI extends d.Destroyable{constructor(e){super();p(this,"viewer");const i=this.viewer=e;this.ad(new d.ObjResettingWithEvent(i.rollerShutterChanged,()=>{const n=i.container;if(!n||!i.rollerShutter)return;const s=new d.Destroyable;this.viewer.splitPosition=.5;let a=this.getRollerShutterDIV();return n.appendChild(a),s.d(()=>{this.viewer.splitPosition=0,n.removeChild(a)}),s}))}getRollerShutterDIV(){let e=document.createElement("div");e.style.position="absolute",e.style.left="50%",e.style.top="0",e.style.backgroundColor="#d3d3d3",e.style.width="5px",e.style.height="100%",e.style.zIndex="9999";const i=n=>{if(!e.parentElement)return;n.preventDefault?n.preventDefault():n.returnValue=!1;const a=n.x/e.parentElement.offsetWidth;e.style.left=`${100*a}%`,this.viewer.splitPosition=a};return e.addEventListener("mouseenter",n=>{e.style.cursor="ew-resize"}),e.addEventListener("mouseleave",n=>{e.style.cursor="default"}),e.addEventListener("mousedown",n=>{e.style.cursor="ew-resize",document.addEventListener("mousemove",i)}),document.addEventListener("mouseup",n=>{e.style.cursor="default",document.removeEventListener("mousemove",i)}),e}}class kI extends d.Destroyable{constructor(e){super();p(this,"rollerShutterAnalysis");this.rollerShutterAnalysis=this.ad(new GI(e))}}const fs=class fs extends d.Destroyable{constructor(e){super();p(this,"_forceRecreateEvent",this.dv(new d.Event));p(this,"_container",this.dv(d.react(void 0)));p(this,"_containerSize",this.dv(d.react(void 0)));p(this,"_editingEvent",this.disposeVar(new d.Event));p(this,"_status",this.dv(d.react("Raw")));p(this,"_statusLog",this.dv(d.react("")));p(this,"_statusContainer",this.dv(new Yd(this)));p(this,"_useCustomInteraction",this.dv(d.react(!0)));p(this,"_resetInteractionEvent",this.dv(d.createNextAnimateFrameEvent(this.containerChanged,this._useCustomInteraction.changed,this._forceRecreateEvent)));p(this,"_interactionResetting",this.dv(new d.ObjResettingWithEvent(this._resetInteractionEvent,()=>{if(!(!this.container||!this._useCustomInteraction.value))return new nv(this,this.container)})));p(this,"_viewerChanged",this.dv(new d.Event));p(this,"_containerResetEvent",this.dv(d.createNextAnimateFrameEvent(this.containerChanged,this._forceRecreateEvent)));p(this,"_containerResetting",this.dv(new d.ObjResettingWithEvent(this._containerResetEvent,()=>{if(this.container)return new RI(this.container,this)})));p(this,"_sceneObjectsMap",new Map);p(this,"_id");p(this,"_typeName");p(this,"_updateFuncReact",this.dv(d.react(void 0)));p(this,"_toDestroyFuncReact",this.dv(d.react(void 0)));p(this,"_statusInfo",fs.defaults.statusInfo);p(this,"_navigationMode",this.dv(d.react("Map")));p(this,"_syncViewer",this.dv(d.react(void 0)));p(this,"_syncEventDon",this.dv(new d.ObjResettingWithEvent(this.syncViewerChanged,()=>{const e=this.syncViewer;if(e)return new DI(this,e)})));p(this,"_timeSyncdon",this.dv(new d.ObjResettingWithEvent(this.timeSyncChanged,()=>{if(this.timeSync)return new TI(this)})));p(this,"_hoverEvent",this.dv(new d.Event));p(this,"_pointerOverEvent",this.dv(new d.Event));p(this,"_pointerMoveEvent",this.dv(new d.Event));p(this,"_pointerDownEvent",this.dv(new d.Event));p(this,"_pointerUpEvent",this.dv(new d.Event));p(this,"_pointerOutEvent",this.dv(new d.Event));p(this,"_clickEvent",this.dv(new d.Event));p(this,"_dblclickEvent",this.dv(new d.Event));p(this,"_keyDownEvent",this.dv(new d.Event));p(this,"_keyUpEvent",this.dv(new d.Event));p(this,"_wheelEvent",this.dv(new d.Event));p(this,"_actived",this.dv(d.react(!1)));this._id=e.id??d.createGuid();const i=tv(e.container);if(i)this._container.value=Xd(i),this._typeName=e.type,this._initName();else throw new Error("container is not defined");{const n=()=>{i&&(this.show??!0?i.style.display="block":i.style.display="none")};n(),this.d(this.showChanged.don(n))}{const n=this._sceneObjectsMap,s=()=>{for(let[o,l]of n.entries())if(!l&&o){const u=Aa.context.createEngineObject(o,this);u&&n.set(o,u)}},a=()=>{for(let[o,l]of n.entries())l&&!l.isDestroyed()&&l.destroy(),n.set(o,void 0)};this.d(a),this.d(this.viewerChanged.don(o=>{a(),o&&s()}))}{const n=()=>{if(this.execOnceFuncStr)try{Function(`"use strict";return (${this.execOnceFuncStr})`)()(this)}catch(s){console.warn(`execOnceFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`)}};n(),this.d(this.execOnceFuncStrChanged.don(n))}{const n=()=>{if(this.updateFuncStr)try{this.updateFunc=Function(`"use strict";return (${this.updateFuncStr})`)()}catch(a){console.warn(`updateFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${a}`)}};n(),this.d(this.updateFuncStrChanged.don(n));let s;this.d(()=>s&&s.destroy()),this.d(this.updateFuncChanged.don(()=>{s&&s.cancel(),this.updateFunc&&(s=s||d.createAnimateFrame(),s.restart(void 0,a=>{this.updateFunc&&this.updateFunc(this,a)}))}))}{const n=()=>{try{this.toDestroyFunc=this.toDestroyFuncStr&&Function(`"use strict";return (${this.toDestroyFuncStr})`)()||void 0}catch(s){console.warn(`toDestroyFuncStr不能转成函数!或者函数执行时错误!id: ${this.id} ${this.typeName} error: ${s}`),this.toDestroyFunc=void 0}};n(),this.d(this.toDestroyFuncStrChanged.don(n)),this.d(this.toDestroyEvent.don(()=>{this.toDestroyFunc&&this.toDestroyFunc(this)}))}this.ad(new kI(this))}forceRecreate(){this._forceRecreateEvent.emit()}get container(){return this._container.value}set container(e){this._container.value=e}set containerOrId(e){if(typeof e=="string"){const i=document.getElementById(e);i&&i instanceof HTMLDivElement?this._container.value=Xd(i):console.warn("containerOrId warn: !(container instanceof HTMLDivElement)")}else e instanceof HTMLDivElement?this._container.value=Xd(e):console.warn("containerOrId warn: setting container failed!")}get containerChanged(){return this._container.changed}get containerSize(){return this._containerSize.value}set containerSize(e){this._containerSize.value=e}get containerSizeChanged(){return this._containerSize.changed}get editingEvent(){return this._editingEvent}get status(){return this._status.value}get statusChanged(){return this._status.changed}setStatus(e){this._status.value=e}get statusLog(){return this._statusLog.value}get statusLogChanged(){return this._statusLog.changed}setStatusLog(e){this._statusLog.value=e}get useCustomInteraction(){return this._useCustomInteraction.value}set useCustomInteraction(e){this._useCustomInteraction.value=e}get viewerChanged(){return this._viewerChanged}get containerResetEvent(){return this._containerResetEvent}get subContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.subContainer}get subContainerChanged(){return this._containerResetting.objChanged}get overlayContainer(){var e;return(e=this._containerResetting.obj)==null?void 0:e.overlayContainer}get overlayContainerChanged(){return this._containerResetting.objChanged}get sceneObjectsMap(){return this._sceneObjectsMap}get sceneObjects(){return this._sceneObjectsMap.keys()}getEngineObject(e){return this.sceneObjectsMap.get(e)}add(...e){for(let i of e)if(!this.has(i)){ft.context.addSceneObject(i);const n=Aa.context.createEngineObject(i,this);n&&this._sceneObjectsMap.set(i,n),i.viewerAttached.emit(this)}}delete(...e){for(let i of e)if(this.has(i)){const n=this._sceneObjectsMap.get(i);n&&n.destroy(),ft.context.deleteSceneObject(i),this._sceneObjectsMap.delete(i),i.viewerDetached.emit(this)}}disposableAdd(...e){return this.add(...e),()=>this.delete(...e)}disAdd(...e){return this.disposableAdd(...e)}has(e){return this._sceneObjectsMap.has(e)}clearAllSceneObjects(){for(let e of this.sceneObjects)this.delete(e)}get id(){return this._id}set id(e){console.warn("ESViewer id is readonly")}get typeName(){return this._typeName}_initName(){this.name=`${this.typeName}_${(""+this.id).slice(-4)}`}get defaultProps(){return fs.createDefaultProps()}_getJson(e=!0){const i={id:this.id,type:this.typeName};for(let n of Object.keys(this.defaultProps))if(e){let s,a=this.defaultProps[n];a instanceof d.ReactiveVariable?s=a.equals(this[n]):s=a===this[n],s||(i[n]=this[n])}else i[n]=this[n];return i}_setJson(e,i,n){if(!(e instanceof Object)||e.type&&e.type!==this.typeName){console.error(`value.type && value.type${e.type} !== this.typeName${this.typeName}`);return}e.id&&e.id!==this.id&&console.warn(`value.id === undefined || value.id${e.id} !== this.id(${this.id})`);const s=i||[];s.push("id","type");const a=Object.keys(this.defaultProps).filter(o=>!s.includes(o));for(let o of a)if(o in e)this[o]=e[o]===null?void 0:e[o];else if(!(n??!1)){let l=this.defaultProps[o];l instanceof d.ReactiveVariable&&(l=l.value),this[o]=l}}get json(){return this._getJson()}set json(e){this._setJson(e,["devTags"])}get updateFunc(){return this._updateFuncReact.value}set updateFunc(e){this._updateFuncReact.value=e}get updateFuncChanged(){return this._updateFuncReact.changed}get toDestroyFunc(){return this._toDestroyFuncReact.value}set toDestroyFunc(e){this._toDestroyFuncReact.value=e}get toDestroyFuncChanged(){return this._toDestroyFuncReact.changed}get navigationMode(){return this._navigationMode.value}get navigationModeChanged(){return this._navigationMode.changed}getNavigationMode(){return this._navigationMode.value}getEngineType(){return this._typeName}get syncViewer(){return this._syncViewer.value}set syncViewer(e){this._syncViewer.value=e}get syncViewerChanged(){return this._syncViewer.changed}syncOtherViewer(e){e&&e.syncViewer&&(e.syncViewer=void 0),e===this?this._syncViewer.value=void 0:this._syncViewer.value=e}setCurrentTime(e){try{this.currentTime=typeof e=="string"?Date.parse(e):e}catch(i){console.warn(`时间格式不正确! value: ${e} error: ${i}`)}}async getVersion(){return window.g_XE3CopyRights??{}}get hoverEvent(){return this._hoverEvent}get pointerOverEvent(){return this._pointerOverEvent}get pointerMoveEvent(){return this._pointerMoveEvent}get pointerDownEvent(){return this._pointerDownEvent}get pointerUpEvent(){return this._pointerUpEvent}get pointerOutEvent(){return this._pointerOutEvent}get clickEvent(){return this._clickEvent}get dblclickEvent(){return this._dblclickEvent}get keyDownEvent(){return this._keyDownEvent}get keyUpEvent(){return this._keyUpEvent}get wheelEvent(){return this._wheelEvent}getProperties(e){return[new H("ESViewer","ESViewer",[new mt("强制刷新","重载",[],()=>this.forceRecreate(),[]),new U("debug","debug",!0,!1,[this,"debug"],fs.defaults.debug),new U("是否可见","是否可见",!0,!1,[this,"show"]),new tt("位置点单位","lonLatFormat",!0,!1,[this,"lonLatFormat"],[["度","DECIMAL_DEGREE"],["度分","DEGREES_DECIMAL_MINUTES"],["度分秒","SEXAGESIMAL_DEGREE"]]),new U("是否开启文字避让","textAvoidance",!0,!1,[this,"textAvoidance"],!1),new nt("ionAccessToken","ionAccessToken",!1,!1,[this,"ionAccessToken"]),new C("时钟","时钟",!1,!1,[this,"currentTime"]),new U("globeShow","globeShow",!0,!1,[this,"globeShow"]),new U("atmosphere","atmosphere",!1,!1,[this,"atmosphere"])]),new C("飞行像素范围","默认飞行定位时对象包围球所占的屏幕像素大小",!1,!1,[this,"flyToBoundingSize"]),new C("编辑高度偏移","编辑时默认的高度偏移",!1,!1,[this,"editingHeightOffset"]),new H("Globe","Globe",[new Y("地形着色器","可以设置地形全局坡度,坡向,高程带,等高线等",!1,!1,[this,"terrainShader"])])]}get actived(){return this._actived.value}set actived(e){this._actived.value=e}get activedChanged(){return this._actived.changed}};p(fs,"context",new FI),p(fs,"register",fs.context.register.bind(fs.context)),p(fs,"defaults",{show:!0,debug:!1,statusInfo:{fps:0,position:[0,0,0],rotation:[0,0,0],length:0},terrainShader:{slope:{show:!1},aspect:{show:!1},elevationRamp:{show:!1,minHeight:-414,maxHeight:8777,color:[]},elevationContour:{show:!1,color:[1,0,0,1],spacing:150,width:2}},globeShow:!0,splitPosition:0});let Dn=fs;(r=>{r.createBaseProps=()=>({name:"未命名场景对象",extras:d.reactJson(void 0),devTags:d.reactArrayWithUndefined(void 0),debug:void 0,show:void 0,opacity:void 0,zIndex:void 0,useDefaultStatusDiv:!0,execOnceFuncStr:void 0,updateFuncStr:void 0,toDestroyFuncStr:void 0}),r.createCommonProps=()=>({globeShow:!0,ionAccessToken:"",lonLatFormat:"DECIMAL_DEGREE",fov:60,textAvoidance:!1,flyToBoundingSize:256,hoverTime:2,currentTime:Date.now(),simulationTime:Date.now(),timeSync:!1,rain:0,snow:0,cloud:0,fog:0,depthOfField:0,atmosphere:!0,editingPointSize:void 0,editingPointColor:d.reactArrayWithUndefined(void 0),editingAuxiliaryPointColor:d.reactArrayWithUndefined(void 0),editingLineWidth:void 0,editingLineColor:d.reactArrayWithUndefined(void 0),editingAxisSize:void 0,editingAuxiliaryPointSize:void 0,editingHeightOffset:0,editingLineShow:!0,editingEventListening:!0,terrainShader:r.defaults.terrainShader,splitPosition:d.react(void 0),rollerShutter:!1}),r.createDefaultProps=()=>({...(0,r.createBaseProps)(),...(0,r.createCommonProps)()})})(Dn||(Dn={})),d.extendClassProps(Dn.prototype,Dn.createDefaultProps);function sv(r,t){const e=r._lastCameraInfo;if(e){const i=t.viewerChanged.don(n=>{if(!n||!e)return;const{position:s,rotation:a}=e;t.flyIn(s,a,0),r._lastCameraInfo=void 0,i()})}}const zI=r=>{const t=Dn.createCommonProps(),e={};try{Object.keys(t).forEach(i=>{e[i]=r[i]})}catch(i){console.warn(i)}return e},av=(r,t)=>{const e=Dn.createCommonProps();try{Object.keys(e).forEach(i=>{r[i]=t[i]})}catch(i){console.warn(i)}};class VI extends d.Destroyable{constructor(e){super();p(this,"_viewersChanged",this.disposeVar(new d.Event));p(this,"_viewers",new Set);p(this,"_viewersToChange",this.dv(new d.Event));this._sceneObjectsManager=e,this.d(()=>{for(const i of this._viewers)this.destroyViewer(i);this._viewers.clear()}),this.viewers.forEach(i=>{const n=this._sceneObjectsManager.sceneObjects;i.add(...n)}),this.d(()=>{const i=this._sceneObjectsManager.sceneObjects;this.viewers.forEach(n=>{n.delete(...i)})}),this.d(this._sceneObjectsManager.sceneObjectsToChange.don((i,n)=>{this.viewers.forEach(s=>{n.forEach(a=>{Ds(s.devTags,a.devTags)&&(s.has(a)?console.warn(`${s.typeName}中已存${a.typeName},检查逻辑是否有问题!`):s.add(a))}),i.forEach(a=>{Ds(s.devTags,a.devTags)&&(s.has(a)?s.delete(a):console.warn(`${s.typeName}中不存在${a.typeName},检查逻辑是否有问题!`))})}),n.length>0&&n.forEach(s=>{s.d(s.devTagsChanged.don(()=>{this.viewers.forEach(a=>{a.has(s)&&a.delete(s),console.log("sceneObjectsToChange",a.devTags,s.devTags,Ds(a.devTags,s.devTags)),Ds(a.devTags,s.devTags)&&(a.has(s)?console.warn(`${a.typeName}中已存${s.typeName},检查逻辑是否有问题!`):a.add(s))})}))})})),this.d(this.viewersChanged.don((i,n)=>{const s=this._sceneObjectsManager.sceneObjects;n.forEach(a=>{for(let o of s)Ds(a.devTags,o.devTags)&&(a.has(o)?console.warn(`${a.typeName}中已存${o.typeName},检查逻辑是否有问题!`):a.add(o))}),i.forEach(a=>{for(let o of s)Ds(a.devTags,o.devTags)&&(a.has(o)?a.delete(o):console.warn(`${a.typeName}中不存在${o.typeName},检查逻辑是否有问题!`))}),n.length>0&&n.forEach(a=>{a.d(a.devTagsChanged.don(()=>{a.clearAllSceneObjects();const o=this._sceneObjectsManager.sceneObjects;for(let l of o)console.log("viewersChanged",a.devTags,l.devTags,Ds(a.devTags,l.devTags)),Ds(a.devTags,l.devTags)&&(a.has(l)?console.warn(`${a.typeName}中已存${l.typeName},检查逻辑是否有问题!`):a.add(l))}))})}))}get viewersChanged(){return this._viewersChanged}get viewers(){return this._viewers}getViewers(){return[...this._viewers]}get viewersToChange(){return this._viewersToChange}createViewer(e){const i=Dn.context.createViewer(e);return this._viewers.add(i),this._viewersChanged.emit([],[i]),i}destroyViewer(e){return e.isDestroyed()?!0:(this._viewers.delete(e),this._viewersChanged.emit([e],[]),e.destroy(),e.isDestroyed())}}class Pa extends d.Destroyable{constructor(...e){super();p(this,"_drgm",this.dv(new v0));p(this,"_sobjm",this.dv(new bI));p(this,"_vrm",this.dv(new VI(this._sobjm)));p(this,"_sceneObjectEditingManager",this.disposeVar(new NI));p(this,"_activeViewer",this.dv(d.react(void 0)));p(this,"_syncOtherViewersToActived",this.dv(d.react(!1)));p(this,"_cmrvm",this.createSceneObjectFromClass(_a));p(this,"_cmrvmdon",this.d(()=>this._cmrvm&&this.destroySceneObject(this._cmrvm)));p(this,"_asset",{type:"ESObjectsManager",version:"0.1.0",createdTime:"",modifiedTime:"",name:"未命名项目"});p(this,"_sceneTree",this.dv(new Gh("default",this.dragstartDataMananger,24,this)));p(this,"_propUiTreeManager",this.dv(new Au(24)));p(this,"_sceneTreeMap",new Map);p(this,"_viewerCreatedEvent",this.dv(new d.Event));p(this,"_lastCameraInfo");p(this,"_lastActiveViewerJson");p(this,"syncEvent",this.dv(d.createNextAnimateFrameEvent(this.activeViewerChanged,this.syncOtherViewersToActivedChanged)));p(this,"_syncEventDon",this.d(this.syncEvent.don(()=>{const e=this.syncOtherViewersToActived;this.viewers.forEach(i=>{e?i.syncOtherViewer(this.activeViewer):i.syncOtherViewer(void 0)})})));p(this,"_player",this.createSceneObjectFromClass(As));p(this,"_playerdon",this.d(()=>this._player&&this.destroySceneObject(this._player)));p(this,"_esPlyarAndPathTime",this.dv(new EI(this)));p(this,"_pathAnimationManager",this.dv(new PI(this)))}static get envs(){return ft.context.environmentVariables}getSceneObjectById(e){return ft.getSceneObjectById(e)}getSceneObject(e){return ft.getSceneObject(e)}get $refs(){return ft.$refs}get dragstartDataMananger(){return this._drgm}get sceneObjectsManager(){return this._sobjm}get viewers(){return this._vrm.viewers}getViewers(){return this._vrm.getViewers()}get sceneObjectEditingManager(){return this._sceneObjectEditingManager}get activeViewer(){return this._activeViewer.value}set activeViewer(e){this._activeViewer.value=e}get activeViewerChanged(){return this._activeViewer.changed}get syncOtherViewersToActived(){return this._syncOtherViewersToActived.value}set syncOtherViewersToActived(e){this._syncOtherViewersToActived.value=e}get syncOtherViewersToActivedChanged(){return this._syncOtherViewersToActived.changed}get cameraViewsManager(){return this._cmrvm}get json(){var h;const e=this._asset.createdTime||new Date().toISOString(),i=new Date().toISOString(),n=this._asset.name||"未命名项目",a={type:"ESObjectsManager",version:this._asset.version||"0.1.0",createdTime:e,modifiedTime:i,name:n},o=this.sceneTree.json,l=this._cmrvm.views,u=[...this._vrm.viewers].map(f=>f.json),c=(h=this.activeViewer)==null?void 0:h.getCurrentCameraInfo();return{asset:a,viewers:u,sceneTree:o,viewCollection:l,lastView:c}}set json(e){try{if(!e.asset)return;if(!e.asset.type||e.asset.type!=="ESObjectsManager"){console.warn("json装配失败! asset.type 不存在或者不是'ESObjectsManager'");return}if(this._asset.createdTime=e.asset&&e.asset.createdTime||new Date().toISOString(),this._asset.modifiedTime=e.asset&&e.asset.modifiedTime||"",this._asset.name=e.asset&&e.asset.name||"未命名项目",this._asset.version=e.asset&&e.asset.version||"0.1.0",e.sceneTree&&(this.sceneTree.json=e.sceneTree),e.viewCollection&&(this._cmrvm.views=e.viewCollection),!e.viewers||!Array.isArray(e.viewers)){console.warn("viewers is not an array or does not exist !");return}if(this._vrm.viewers.size===0||e.viewers.length===0){console.warn("viewers is empty !");return}this._vrm.viewers.forEach(i=>{const n=e.viewers.find(s=>s.id===i.id);n&&(i.json=n)})}catch(i){console.error(`ESObjectsManager解析json数据时发生错误! error: ${i}`)}}get sceneTree(){return this._sceneTree}get jsonLoadingEvent(){return this._sceneTree.jsonLoadingEvent}get propUiTreeManager(){return this._propUiTreeManager}propTreeCallback(e){return CI(this,e)}getSceneTrees(){return[...this._sceneTreeMap.values()]}getSceneTree(e="default"){if(e==="default")return this._sceneTree;if(!this._sceneTreeMap.has(e)){console.warn(`id为${e}的SceneTree不存在!`);return}return this._sceneTreeMap.get(e)}createSceneTree(e,i=24){if(this._sceneTreeMap.has(e)||e==="default")console.warn(`id为${e}的SceneTree已存在!`);else{const n=this.dv(new Gh(e,this.dragstartDataMananger,i,this));this._sceneTreeMap.set(e,n)}return this.getSceneTree(e)}get viewerCreatedEvent(){return this._viewerCreatedEvent}createViewer(e){const i=this._vrm.createViewer(e);this.activeViewer||(this.activeViewer=i);const n=this.d(i.viewerChanged.don(s=>{s&&(this._viewerCreatedEvent.emit(i),n())}));return i}destroyViewer(e){return this._activeViewer.value===e&&(this._activeViewer.value=void 0),this._vrm.destroyViewer(e)}switchViewer(e,i=!0,n=!0,s=!0){var u;this.activeViewer&&this.activeViewer.getNavigationMode()!=="Map"&&this.activeViewer.changeToMap(),!this._lastCameraInfo&&i&&(this._lastCameraInfo=(u=this.activeViewer)==null?void 0:u.getCurrentCameraInfo()),!this._lastActiveViewerJson&&n&&(this._lastActiveViewerJson=this.activeViewer?zI(this.activeViewer):void 0),s&&this.activeViewer&&this.destroyViewer(this.activeViewer);const a=e.id,o=a?[...this.getViewers()].find(c=>c.id===a):[...this.getViewers()].find(c=>c.typeName===e.type);if(o)if(a&&o.typeName!==e.type)console.warn(`id为${a}的viewer的typeName和option.type${e.type}不相同!,虽然id一致但是typeName不同,所以会销毁并创建新的viewer`),this.destroyViewer(o);else return console.log("ESViewer exists, will be used"),i&&sv(this,o),n&&this._lastActiveViewerJson&&(av(o,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),o.container===tv(e.container)?(o.containerOrId=e.container,o.forceRecreate()):o.containerOrId=e.container,this.activeViewer=o,o;console.log("No ESViewer exists, will be created");const l=this.createViewer(e);return console.log(e),console.log(this),i&&sv(this,l),n&&this._lastActiveViewerJson&&(av(l,this._lastActiveViewerJson),this._lastActiveViewerJson=void 0),this.activeViewer=l,l}switchToCesiumViewer(...e){if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)){const{container:i,viewSync:n,attributeSync:s,destroy:a,id:o}=e[0];return this.switchViewer({type:"ESCesiumViewer",container:i,id:o},n??!0,s??!0,a??!0)}else if(typeof e[0]=="string"||e[0]instanceof HTMLDivElement){const i={container:e[0],viewSync:e[1]??!0,attributeSync:e[2]??!0,destroy:e[3]??!0,id:e[4]},{container:n,viewSync:s,attributeSync:a,destroy:o,id:l}=i;return this.switchViewer({type:"ESCesiumViewer",container:n,id:l},s,a,o)}}switchToUEViewer(...e){let i,n={viewSync:!0,attributeSync:!0,destroy:!0};if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("uri")){const{container:l,uri:u,app:c,token:h,viewSync:f,attributeSync:g,destroy:m,id:_}=e[0];i={type:"ESUeViewer",container:l,id:_,options:{uri:u,app:c,token:h}},n={viewSync:f??!0,attributeSync:g??!0,destroy:m??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("ws")){const{container:l,ws:u,esmsg:c,viewSync:h,attributeSync:f,id:g,destroy:m}=e[0];i={type:"ESUeViewer",container:l,id:g,options:{ws:u,esmsg:c}},n={viewSync:h??!0,attributeSync:f??!0,destroy:m??!0}}else if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)&&e[0].hasOwnProperty("project")){const{container:l,project:u,baseUrl:c,viewSync:h,attributeSync:f,id:g,destroy:m}=e[0];i={type:"ESUeViewer",container:l,id:g,options:{project:u,baseUrl:c}},n={viewSync:h??!0,attributeSync:f??!0,destroy:m??!0}}else(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?(i={type:"ESUeViewer",container:e[0],id:e[6],options:{ws:e[1],esmsg:e[2]??void 0}},n={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}):typeof e[1]=="string"&&e[1].startsWith("http")?(i={type:"ESUeViewer",container:e[0],id:e[7],options:{uri:e[1],app:e[2],token:e[3]??void 0}},n={viewSync:e[4]??!0,attributeSync:e[5]??!0,destroy:e[6]??!0}):(i={type:"ESUeViewer",container:e[0],id:e[6],options:{project:e[1],baseUrl:e[2]??void 0}},n={viewSync:e[3]??!0,attributeSync:e[4]??!0,destroy:e[5]??!0}));if(!i)throw new Error("参数错误");const{viewSync:s,attributeSync:a,destroy:o}=n;return this.switchViewer(i,s,a,o)}createCesiumViewer(...e){let i;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?i={...e[0],type:"ESCesiumViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(i={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESCesiumViewer"}),!i)throw new Error("参数错误");return this.createViewer(i)}createOpenLayersViewer(...e){let i;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?i={...e[0],type:"ESOlViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(i={container:e[0],options:e[1]??void 0,id:e[2]??void 0,type:"ESOlViewer"}),!i)throw new Error("参数错误");return this.createViewer(i)}createUeViewer(...e){let i;if(typeof e[0]=="object"&&!(e[0]instanceof HTMLDivElement)?i={...e[0],type:"ESUeViewer"}:(typeof e[0]=="string"||e[0]instanceof HTMLDivElement)&&(typeof e[1]=="string"&&e[1].startsWith("ws")?i={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{ws:e[1],esmsg:e[2]??void 0}}:typeof e[1]=="string"&&e[1].startsWith("http")?i={type:"ESUeViewer",container:e[0],id:e[4]??void 0,options:{uri:e[1],app:e[2],token:e[3]??void 0}}:i={type:"ESUeViewer",container:e[0],id:e[3]??void 0,options:{project:e[1],baseUrl:e[2]??void 0}}),!i)throw new Error("参数错误");return this.createViewer(i)}createSceneObject(e,i){return this._sobjm.createSceneObject(e,i)}createSceneObjectFromClass(e,i){return this._sobjm.createSceneObjectFromClass(e,i)}createSceneObjectFromJson(e){return this._sobjm.createSceneObjectFromJson(e)}destroySceneObject(e){const i=this._sobjm.deleteSceneObject(e);return e.destroy(),i}destroyAllSceneObjects(){const e=[...this._sobjm.sceneObjects];for(let i of e)i!=this._player&&i!=this._cmrvm&&this.destroySceneObject(i)}get player(){return this._player}get esPlyarAndPathTime(){return this._esPlyarAndPathTime}get pathAnimationManager(){return this._pathAnimationManager}}p(Pa,"getSceneObjById",ft.context.getSceneObjectById.bind(ft.context)),p(Pa,"getEnv",ft.context.getEnv.bind(ft.context)),p(Pa,"setEnv",ft.context.setEnv.bind(ft.context)),(r=>{r.createDefaultProps=()=>({})})(Pa||(Pa={})),d.extendClassProps(Pa.prototype,Pa.createDefaultProps);function UI(){const r=navigator.userAgent;let t="Unknown";/Windows/.test(r)?t="Windows":/Macintosh/.test(r)?t="MacOS":/Linux/.test(r)?t="Linux":/Android/.test(r)?t="Android":/iOS|iPhone|iPad|iPod/.test(r)&&(t="iOS");let e="Unknown";return/x64|x86_64|Win64|WOW64/.test(r)?e="x64":/x86|i686|Win32/.test(r)?e="x86":/arm64|aarch64/.test(r)?e="arm64":/arm/.test(r)&&(e="arm"),{os:t.toLocaleLowerCase(),arch:e.toLocaleLowerCase()}}const qI=Date.now();function ov(r){const{os:t,arch:e}=UI(),i={version:r.version,commitdate:r.date,commitId:r.commitId,runningTime:(Date.now()-qI)/1e3/60|0,date:new Date().toLocaleString(),href:window.location.href,os:t,arch:e},s={method:"GET",headers:new Headers,redirect:"follow"},a=window.encodeURIComponent(JSON.stringify(i));fetch(`https://account.bjxbsj.cn/api/product/record?product=EarthSDKJS&content=${a}`,s).then(o=>o.text()).then(o=>console.log(o)).catch(o=>console.log("error",o))}N.copyright=void 0;try{const r="earthsdk3",t="3.4.0-beta.4",e="2025-08-13T02:44:57.000Z",i="北京西部世界科技有限公司",n="地球可视化实验室 (EarthSDK&CesiumLab) https://www.bjxbsj.cn",s="1db9138c470e4d98418a0699adcb1700a2168ceb",o=((Date.now()-1755053097e3)/36e5).toFixed(1),l=`%c🌏 ${r}%c ${t}.${s.slice(0,8)}.${e} (距今${o}个小时)
538
538
  %c${n?n+`
539
539
  `:""}当前网站正在使用${r},此软件版权归${i}所有
540
- `;N.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","1db9138c470e4d98418a0699adcb1700a2168ceb")},get info(){return l},get date(){return"2025-08-13T02:44:57.000Z"},get author(){return"suplyang"},get version(){return"3.4.0-beta.3"},get name(){return"earthsdk3"},get commitId(){return"1db9138c470e4d98418a0699adcb1700a2168ceb"},print(){console.info(this.info,`
540
+ `;N.copyright=Object.freeze({get owner(){return"北京西部世界科技有限公司"},get ownerlink(){return OWNERLINK_},get gituri(){return GITURI_&&GITURI_.replace("${commitId}","1db9138c470e4d98418a0699adcb1700a2168ceb")},get info(){return l},get date(){return"2025-08-13T02:44:57.000Z"},get author(){return"suplyang"},get version(){return"3.4.0-beta.4"},get name(){return"earthsdk3"},get commitId(){return"1db9138c470e4d98418a0699adcb1700a2168ceb"},print(){console.info(this.info,`
541
541
  font-size: 18px;
542
542
  font-weight: 1000;
543
543
  line-height: 1;